一位同事使用 for 循环在他编写的一些 C# 代码中迭代 List 并留下评论,“没有使用 For Each,因为我不确定它是否按顺序迭代。谁知道微软会做什么。” 例如,假设我们有一个这样构建的 List:
var someList = new List<string>();
someList.Add("one");
someList.Add("two");
someList.Add("three");
我的同事使用了这样的东西:
for (int i = 0; i < someList.Count; i++)
{
System.Diagnostics.Debug.WriteLine(someList[i]);
}
而不是这个:
foreach (var item in someList)
{
System.Diagnostics.Debug.WriteLine(item);
}
我猜他担心这些物品的出现顺序可能与它们添加到收藏中的顺序不同。我认为他有点偏执,但从技术上讲,文档没有说明迭代集合的顺序。foreach 语句是否可以以除从最低到最高之外的任何顺序遍历数组或集合对象?