财产的性能

本文关键字:性能 财产 | 更新日期: 2023-09-27 18:04:27

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

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; }

财产的性能

这取决于你的性能要求…访问Hashtable并强制转换结果显然比仅仅访问一个字段要慢(自动属性隐式地创建一个字段),但是根据您想要做的事情,它可能会或可能不会产生显著的差异。复杂度在这两种情况下都是O(1),但是访问哈希表显然需要更多的循环…

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