Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > .NET фреймворки > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 04.05.2012, 15:05   #1
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
Вопрос Странное поведение SortedSet

Существует в программе
Код:
SortedSet<Pair> priorityQueue = new SortedSet<Pair>();
А в Pair определен интерфейс IComparable<Pair>
Код:
        public int CompareTo(Pair pair)
        {
            int compare = Priority.CompareTo(pair.Priority);
            if (compare == 0)
                return PageId.CompareTo(pair.PageId);
            else
                return compare;
        }
И вот жил не тужил SortedSet, пока я не начал изменять параметр Priority в Pair, лежащих в нем
Код:
priorityQueue.First(page => page.PageId == pageId).Priority++;
И не обновляет SortedSet свой список, и не сортирует, как быть?
C, C++, C#,Java Контакты:
ICQ: 452-608-390
e-mail: sergeicelov@gmail.com
Gapro вне форума Ответить с цитированием
Старый 04.05.2012, 15:14   #2
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

А с чего он должен сортировать? коллекция то итемов не меняется.
=master= вне форума Ответить с цитированием
Старый 04.05.2012, 16:13   #3
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Цитата:
А с чего он должен сортировать? коллекция то итемов не меняется.
Т.е. принудительно его не отсортировать?
А есть какой-нибудь класс, позволяющий динамически изменять приоритет, кроме как постоянно сортировать какой-нибудь generic, вроде List?
C, C++, C#,Java Контакты:
ICQ: 452-608-390
e-mail: sergeicelov@gmail.com
Gapro вне форума Ответить с цитированием
Старый 04.05.2012, 16:35   #4
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Цитата:
Т.е. принудительно его не отсортировать?
В справке есть что-нибудь похожее, метод или свойство отвечающее за это?

Удалите и потом добавте.

Либо используйте другую коллекцию, например массив.
=master= вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
странное поведение WNetAddConnection2 sdsfy Работа с сетью в Delphi 0 02.08.2011 22:35
Странное поведение realloc eraserhp Общие вопросы C/C++ 7 17.05.2010 08:52
Странное поведение gets alex_alpha Общие вопросы C/C++ 3 27.03.2010 18:21
Странное поведение null Vitalyk JavaScript, Ajax 6 13.02.2010 15:22


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840