我一直都不这么认为,但最近我有必要知道:
如果我按特定顺序向列表中添加元素,我保证会在同一个订单上找到它吗?
谢谢!
答案 0 :(得分:28)
是;您可以控制List<T>
的排序。
您可以假设任何带有list[int]
索引器的.NET集合都具有可预测的排序;否则,数字指数没有任何意义。相比之下,不可能使用带有Dictionary<K,V>
的数字索引,并且当您枚举字典时,不能保证排序。
答案 1 :(得分:4)
是的,这是确定性的。请记住,如果您想跨线程使用List<T>
,那么就像任何事情一样,您无法保证交互发生的顺序。
答案 2 :(得分:1)
是。 List是一个索引集合;使用Add()将元素放入List中将导致它们按照添加的顺序编制索引。