Предположим, что у меня есть данный набор. Не меняя коллекцию каким-либо образом, я дважды повторяю ее содержимое с помощью foreach. Запрещая космические лучи, а что нет, абсолютно ли гарантировано, что порядок будет согласован в обеих петлях?
В качестве альтернативы, учитывая HashSet<string>
с несколькими элементами, что может привести к неравномерности вывода из комментариев строк ниже:
{
var mySet = new HashSet<string>();
// Some code which populates the HashSet<string>
// Output1
printContents(mySet);
// Output2
printContents(mySet);
}
public void printContents(HashSet<string> set) {
foreach(var element in set) {
Console.WriteLine(element);
}
}
Было бы полезно, если бы я мог получить общий ответ, объясняющий, что приводит к тому, что реализация не отвечает критериям, описанным выше. В частности, меня интересуют Dictionary
, List
и массивы.