Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Passerby, Вы писали:
P>>По спецификации словаря так, действительно, делать нельзя. Но пока реализация словаря выполнена в виде структуры структур, то можно.
S>Этот набор слов непонятен. Реализация словаря выполнена в виде hash map, и у неё порядок элементов не совпадает с порядком добавления.
Там деление блоков по хэшу начинается после какого-то (кажется 1000-го) элемента. У меня меньше.
Random rnd = new Random();
int c1 = 10000, c2 = 50;
Dictionary<string, int> dict = new Dictionary<string, int>(c2);
for (int i = 0; i < c2; i++)
{
dict.Add(rnd.Next().ToString(), i);
}
{ }
Не нашел как добавить рисунок, который показывает сохранение порядка в этом коде.
P>>Какой выход?
S>Кэшировать:
S>S> public class myReverserClass : IComparer
S> {
S> private IComparer _caseInsensitiveComparer = new new CaseInsensitiveComparer();
S> int IComparer.Compare(Object x, Object y) => _caseInsensitiveComparer.Compare(x,y);
S> }
S>