![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
Доброго времени суток. Не понимаю почему последние 3 строчки в listView'e абсолютно одинаковые, хотя Я это и запретил
Вот код:
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
| 0000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.7.2006 Где: Нижний Новгород Репутация: 2 Всего: 5 |
у тебя SortedList заполняется видимо не так как ты хочешь...он сортирует твои числа к примеру есть у тебя 0, 1, 2, 3, 4, 5, 6, 7, 8, 9..когда добавляешь 10 - он будет не по последнему индексу, а встанет под индексом 2..
а у тебя доступ к последнему элементу, который равен 9 поэтому применяй ToString() с форматов - например ToString("00"); - это для двузначных чисел zaver, в одно время думаем одинаково =) Это сообщение отредактировал(а) 0000 - 22.10.2007, 17:29 |
|||
|
||||
| zaver |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 15.8.2005 Репутация: нет Всего: 3 |
ошибка в том, что написав
ты думаешь, что это тот элемент, который ты добавил, а на самом деле это не так, начиная с 10ого элемента. т.е. содержимое ObjSL выглядит так:
ты думаешь, что 10 находится на месте 9. Добавлено через 54 секунды =) чуть опоздал)) |
||||
|
|||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
zaver
У меня встречный вопрос по поводу вашего совета:
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
| 0000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.7.2006 Где: Нижний Новгород Репутация: 2 Всего: 5 |
ToString("00") - означает, что твои числа будут в виде 01, 02, 03 и так далее...это формат чисел..
если используешь IPAddress, имхо тебе для них надо определить методы Equals и GetHashCode() реализовать интерфейс IComparer для адресов и при определении SortedList задать его в конструкторе |
|||
|
||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
Для этого необходимо создать вспомогательный класс, верно? А можно поподробнее? -------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 63 Всего: 170 |
а чем плохи классы Stack и Queue ? ИМХО лучше их никто тебе не гарантирует четкое соблюдение последовательности обработки добавленных в них элементов... Они ж для этого придуманы? Непонятно, что тебе нужно: именно важна последовательность, в которой они к тебе пришли, или сортировка не по времени их появления, а по их значениям? -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| 0000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.7.2006 Где: Нижний Новгород Репутация: 2 Всего: 5 |
да, реализуешь конкретный класс, наследуя его от интерфейса IComparer... там всего 1 метод если у тебя есть IPAddress, который можно представить через long... и сравни их в методе Compare эти значения long... тогда Equals и GetHashCode не понадобятся...это для того, чтобы в своем классе можно было определить свой метод сравнения... хотя да, смудил я - они тебе не понадобятся а вообще tol05 прав - поподробнее задачу объясни, может тебе действительно лучше использовать стэк или очередь?? или тебе действительно важен отсортированный порядок адресов и чтобы хранить их всех? |
|||
|
||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
0000
Мне нужно, чтобы ip-адреса были не отсортированны по убывнию/возрастанию в коллекции, а чтобы именно были там в том порядке, в каком Я их туда добавил. Допустим, Я добавил "127.0.0.1" -> "127.0.0.3" -> "127.0.0.2" в коллекцию. Нужно чтобы в коллекции было: "127.0.0.1" "127.0.0.3" "127.0.0.2" А если сделать сортировку, которую вы предлагаете, в коллекции не окажется последовательности "127.0.0.1" "127.0.0.2" "127.0.0.3" ?????????????????? Я написал вот такой вот класс:
Правильно ли это и как мне теперь его задать в конструкторе? -------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
| 0000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.7.2006 Где: Нижний Новгород Репутация: 2 Всего: 5 |
тогда убирай SortedList..
если тебе надо просто порядок - использую List<IPAddress> если надо хранить пару ключ-значение использую либо HashTable, либо Dictionary<KeyType, ValueType> HashTable лучше применять, если тип не определен (там key и value имеют тип object), или когда значений там будет храниться не очень много... они просто сохраняют порядок - как добавишь, так и будут... List при желании можно потом отсортировать... если же тебе будет важно еще в каком порядке необходим доступ к элементу (например, первым брать того, кто пришел раньше всех), то использую Queue или Stack (первым берешь того, кто пришел последним)... их можно тоже привязать к типам Stack<IPAddress> или Queue<IPAddress> |
|||
|
||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
Вобщем я разобрался... СПАСИБО ВСЕМ!
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |