Разница между коллекциями
Товарищи, нужно просветление!
Есть 3 коллекции типа словаря. Это Dictionary <Key, Value>
, SortedDictionary <Key, Value>
, SortedList<TKey, TValue>
. Разницу между последними 2-мя я вообще не понял. Но еще не разберусь, каким образом хранятся и сортируются элементы в Dictionary <Key, Value>
написано, что сортировка элементов в данной коллекции идет по хешу ключа. Однако почему-то в этом коде элементы выводятся в той последовательности, в которой я их ввел:
static void Main()
{
Dictionary<string, int> dict = new Dictionary<string, int>();
dict.Add("Gleb", 2);
dict.Add("Pavel", 6);
dict.Add("Anna", 4);
dict.Add("Sergey", 3);
foreach (var v in dict.Keys)
{
Console.WriteLine(v);
}
}
Ведь, по идее, они должны быть в псевдослучайном порядке. Почему тогда так происходит? И какая разница между SortedDictionary <Key, Value>
и SortedList<TKey, TValue>
?
Источник: Stack Overflow на русском