我正在处理声明如图所示的对象。
DataCollection<Entity> collection = GetDataCollection(...);
然后,我正在挑选两组数据如下。
IEnumerable<String>
array_1 = collection.Select(
element => element.Attributes["attribute_1"] as String),
array_2 = collection.Select(
element => element.Attributes["attribute_2"] as String);
如果这两个数组保证具有相同的顺序,我非常好奇。即如果他们的单独订单必须与原始顺序相同。或者,至少,如果订单因任何原因而改变,第一个单独列表中的i
元素是否仍然对应于另一个中的i
元素?
答案 0 :(得分:2)
他们不能保证是一样的。实际上,您可能会注意到订单通常与原始集合一致。
如果您担心一致性,只需添加OrderBy
子句即可获得所需的订单(或至少一个在两个结果集合之间保持一致)。
答案 1 :(得分:0)
检查这个答案:
至少从这个答案中可以看出,Select调用保证是相同的顺序。
我仍然会使用OrderBy(...)。看起来你无法确定LINQ调用,所以如果有人进来并添加了一个额外的LINQ调用,他们可能不知道你期望它们是相同的顺序。