我想知道 C# 数组是否具有恒定的访问速度?
我需要在静态数组中存储 1000 个项目,这些项目将在服务器启动期间进行初始化。该数组将只读使用,
所以数组不会有任何变化。
我应该改用简单的 C# 数组 (new MyClass[]) 还是字典。
我是 C# 的新手,正在尝试了解 C# 数组访问的工作原理。
它们可以在速度上与 C++ 数组进行比较吗?
最佳答案
最佳选择取决于您需要如何访问元素。
如果你想通过索引访问它们,那么使用数组。 C# 中的数组具有恒定的访问速度,并且在访问速度方面与 C++ 数组非常相似。
但是,字典的访问速度非常快(Item property 接近 O(1) 的访问时间,但取决于存储的键对 GetHashCode 的实现有多好)。如果您需要根据键值而不是索引来查找您的项目,那么字典将是合适的。
关于C# 数组还是字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2448974/