Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 16: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 свой список, и не сортирует, как быть?
Gapro вне форума Ответить с цитированием
Старый 04.05.2012, 16:14   #2
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

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

Цитата:
А с чего он должен сортировать? коллекция то итемов не меняется.
Т.е. принудительно его не отсортировать?
А есть какой-нибудь класс, позволяющий динамически изменять приоритет, кроме как постоянно сортировать какой-нибудь generic, вроде List?
Gapro вне форума Ответить с цитированием
Старый 04.05.2012, 17:35   #4
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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