Задать вопрос
Zefirot
@Zefirot

Как перемешать словарь объектов?

Думал есть какой-то метод типа .Suffle() но нет, подскажите как перемешать словарь типа Dictionary чтобы пары сохранились но порядок был другой?
int не по порядку, набор разных не повторяющихся цифр (1,5,7,8,15,18 и т.д.)...
  • Вопрос задан
  • 300 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Merion Academy
    C# разработчик с нуля
    4 месяца
    Далее
  • Stepik
    Профессия "C# разработчик"
    1 неделя
    Далее
  • Skillfactory
    Профессия C#-разработчик
    12 месяцев
    Далее
Решения вопроса 2
@AndromedaStar
.Net - monkey
Random rand = new Random();
var shuffledDictionary = originalDictionary.OrderBy(x => rand.Next()).ToDictionary(item => item.Key, item => item.Value);
Ответ написан
Krypt
@Krypt
Dictionary не хранит порядок элементов. Тот факт, что они возвращаются в каком-то одинаковом порядке при энумерации - это исключительно удача. Кроме того, порядок может меняться в зависимости от версии и платформы.

Вам нужен какой-то другой способ хранения данных. Например - `System.Collections.Specialized.OrderedDictionary`
Или, как вариант, вы можете хранить ключи в отдельном массиве и использовать его как способ определения порядка.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы