2015-05-11 2 views
0

У меня есть класс, называемый Header, и в другом классе, который называется Home, я создаю List<Header>, называемый HeaderList, который отлично работает и собирает список заголовков, которые необходимы. Header класс имеет свойство, MobileImage, что я хотел бы получить в другом списке, где все MobileImage свойство IsNullOrEmpty, но это возвращает пустой список все время с этим ниже код:Как получить список классов, где string Свойство равно null или пустое значение строки?

List<Header> NonMobileHeaderList = Home.HeaderList.FindAll(u => string.IsNullOrEmpty(u.MobileImage)).ToList(); 

if (NonMobileHeaderList.Count > 0) 
{ 
    Response.Write("There are Images for Non-Mobile Browsers."); 
} 
else 
{ 
    Response.Write("There are no Images for Non-Mobile Browsers.") 
} 

Мое понимание что FindAll должен возвращать все Элементы в Списке на основе предиката. Почему это не работает? Если я:

List<Header> AllHeaders = Home.HeaderList;

Все заголовки содержат список заголовков правильно. Нужно ли мне перебирать все заголовки, чтобы получить те, которые мне нужны, на основе значения свойства? Шутки в сторону? Я думал, что FindAll должен был это сделать?

+0

Просто чтобы подтвердить, когда вы отлаживаете элементы заголовка, где значение MobileImage не равно null или пусто? – Scozzard

+0

В настоящее время все свойства строки 'MobileImage' должны быть пустыми прямо сейчас. –

+0

Все элементы заголовка имеют «MobileImage = string.Empty», поэтому List должен возвращать их всем, вместо этого он не возвращает ни одного из них. –

ответ

0

Похоже, что проблема с жизненным циклом страницы, чем FindAll. Заявление правильно, кроме того, вам не понадобится .ToList(), поскольку FindAll должен уже вернуть новый экземпляр List<T>.

+0

Привет, Питер, я инициализировал новый список «Список

» в верхней части документа и назначил его этому и bam, работая идеально. –

Смежные вопросы