Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是C#列表中元素的顺序<;T>;确定性?_C# - Fatal编程技术网

是C#列表中元素的顺序<;T>;确定性?

是C#列表中元素的顺序<;T>;确定性?,c#,C#,我一直不这么认为,但最近我需要知道: 如果我以某种顺序将元素添加到列表中,是否保证找到的元素总是以相同的顺序 谢谢 是;您可以控制列表的顺序 您可以假设任何带有列表[int]索引器的.NET集合都具有可预测的顺序;否则,数字指数将毫无意义。相比之下,不可能将数字索引与字典一起使用,并且当您枚举字典时,不能保证排序。是。列表是一个索引集合;使用Add()将元素放入列表将使它们按添加顺序编制索引。是的,这是确定的。请记住,如果您想跨线程使用列表,那么,与任何事情一样,您无法保证交互发生的顺序。如果它

我一直不这么认为,但最近我需要知道:

如果我以某种顺序将元素添加到列表中,是否保证找到的元素总是以相同的顺序


谢谢

是;您可以控制
列表的顺序


您可以假设任何带有
列表[int]
索引器的.NET集合都具有可预测的顺序;否则,数字指数将毫无意义。相比之下,不可能将数字索引与
字典一起使用,并且当您枚举字典时,不能保证排序。

是。列表是一个索引集合;使用Add()将元素放入列表将使它们按添加顺序编制索引。

是的,这是确定的。请记住,如果您想跨线程使用
列表
,那么,与任何事情一样,您无法保证交互发生的顺序。

如果它们不提供这样的保证,那又有什么意义呢。它们是可转位的;一个没有这种保证的可转位集合将是无用的。