Kev*_*Kev 71 .net collections list
是否List<T>始终保证项目将按枚举时添加的顺序返回?
更新:感谢所有人的回答,让我放心.我List<T>用.NET Reflector快速戳了一下这个类(应该首先应该这样做),实际上底层存储是T(T[])的数组.
San*_*uys 58
List是基于索引的,并且新项目将始终添加到列表的末尾.您可以在某个索引处插入项目,以便下一个项目移动一个位置.
所以是的,你可以安全地使用它...
List(T)类是ArrayList类的通用等价物.它使用一个数组实现IList(T)泛型接口,该数组的大小根据需要动态增加.
可以使用整数索引访问此集合中的元素.此集合中的索引从零开始.
列表(T)不保证排序.在执行需要对列表(T)进行排序的操作(例如BinarySearch)之前,必须对List(T)进行排序.
List(T)可以同时支持多个读取器,只要不修改集合即可.枚举通过集合本质上不是线程安全的过程.在枚举与一个或多个写访问争用的极少数情况下,确保线程安全的唯一方法是在整个枚举期间锁定集合.要允许多个线程访问集合以进行读写,您必须实现自己的同步.
您可以在MSDN上阅读有关它的更多信息.
是的,List<T>保证插入顺序和检索顺序,这在MSDN上有记录(下面的重点是我的).
将对象添加到结尾
List<T>.
项目参数是:
要添加到的末尾的
List<T>对象.
将指定集合的元素添加到结尾
List<T>.
集合参数是:
其元素应添加到结尾的
List<T>集合.
最初,枚举数位于集合中的第一个元素之前.在这个位置,
Current是未定义的.因此,在读取值之前,必须调用MoveNext以将枚举数推进到集合的第一个元素Current.
Current返回相同的对象,直到MoveNext被调用.MoveNext设置Current为下一个元素.
| 归档时间: |
|
| 查看次数: |
16050 次 |
| 最近记录: |