Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как удалить все null из коллекции? 
:(
    Опции темы
Stas123
Дата 14.7.2011, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 18.11.2009

Репутация: нет
Всего: нет



у меня есть ObservableCollection, в ней много ссылок на null.
можно ли как-то их удалить из коллекции?
PM MAIL   Вверх
jonie
Дата 14.7.2011, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



пробежаться по всей коллекции и сделать RemoveAt вызов для интересующего индекса.
Ну или попросту сделать while(collection.Remove(null));


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Дрон
Дата 14.7.2011, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 92



Цитата(jonie @  14.7.2011,  12:23 Найти цитируемый пост)
пробежаться по всей коллекции и сделать RemoveAt вызов для интересующего индекса.

Только я бы ещё новичкам советовал быть внимательней smile
Вот такой, казалось бы очевидный, код будет неправильным:
Код
for(int i = 0; i < collection.Count; i++)
{
      if (collection[i] == null)
            collection.RemoveAt(i);
}

Если в коллекции идёт пара "null" подряд, то удалится только первый из них, а второй останется.


--------------------
Да. Именно так.
PM   Вверх
Kefir
Дата 14.7.2011, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 2
Всего: 87



А я больше люблю такой вариант:
Код

ObservableCollection<Blaa> c;
c.Where(o => o == null).ToList().ForEach(o => c.Remove(o));

PM MAIL WWW Skype   Вверх
eugene123
Дата 2.8.2011, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.8.2011

Репутация: нет
Всего: нет



Код

for(int i = collection.Count - 1; i >= 0 ; i--)
      if (collection[i] == null)
            collection.RemoveAt(i);

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0711 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.