-2

如果我这样做,我需要知道是否存在一些性能问题/考虑:

public Hastable Properties=...
public double ItemNumber
{
  get { return (double)Properties["ItemNumber"]; }
  set
{
  ItemNumber = value;
  Properties["ItemNumber"] = value;
}
}

Public string Property2....

Public ... Property 3....

而不是直接访问该属性:

public string ItemNumber { get; set; }
public string prop2 { get; set; }
public string 3...{ get; set; }
4

2 回答 2

1

这取决于您的性能要求...访问 aHashtable并转换结果显然比仅访问字段要慢(自动属性隐式创建字段),但取决于您要执行的操作,它可能会或可能不会显着差异。在这两种情况下都很复杂O(1),但访问哈希表显然需要更多的周期......

于 2013-03-17T17:27:28.580 回答
0

好吧,与直接属性访问相比,它肯定会更慢,因为 get 和 set 操作需要执行更多的代码。但是由于您使用的是哈希表,因此访问速度应该非常快。由于您使用的是弱类型集合,因此您还会因为强制转换而获得额外的开销。装箱和拆箱之类的事情是有代价的。问题是所有这些是否会显着影响您的应用程序的性能。这真的取决于你的要求。我建议您执行一些负载测试,看看这是否会成为瓶颈。

于 2013-03-17T17:27:09.663 回答