Сотрудник использовал цикл for для перебора списка в некотором коде С#, который он написал, и оставил комментарий: "did't use For Each, потому что я не был уверен, что он итерации по порядку. Кто знает, что сделает Microsoft". Например, предположим, что у нас есть список, подобный этому:
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 проходил массив или объект коллекции в любом порядке, отличном от нижнего предела до самого высокого?