C#数组还是字典?

Val*_*tin 16 c# arrays optimization performance data-structures

我想知道C#数组是否具有恒定的访问速度?
我需要在静态数组中存储1000个项目,这些项目将在服务器启动期间初始化.此数组将以只读方式使用,因此不会对数组进行任何更改.
我应该使用简单的C#数组(新的MyClass [])或字典.

我是C#的新手,并试图了解C#数组访问是如何工作的.
它们可以通过速度与c ++数组进行比较吗?

Ree*_*sey 22

最佳选择取决于您如何访问元素.

如果要通过索引访问它们,请使用数组.C#中的数组具有恒定的访问速度,就访问速度而言,与C++数组非常相似.

但是,字典具有非常快的访问权限(Item属性 接近 O(1)访问时间,但取决于存储的密钥对GetHashCode的实现有多好).如果您需要根据键值而不是索引来查找项目,那么字典将是合适的.