Сотрудник использовал цикл for для итерации List в некотором коде C #, который он написал, и оставил комментарий: «Не использовал 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 проходил через массив или коллекцию объектов в любом порядке, кроме как от самой нижней границы до самой высокой?