Вопрос о нескольких критериях Список (T). Где - PullRequest
0 голосов
/ 29 июля 2011

сейчас не могу получить правильную информацию

   List<HeaderHelper> h = pr.Actual_View();
   foreach (TemplateHeader t in pr.TemplateView()) 
   {
      var v= h.Where(z => z.Country == t.Pais 
                       && z.dia == t.diaTotal 
                       && z.Segment == t.Segmento).FirstOrDefault();
   }

    pr.Actual_View()

- это метод класса для списка, содержащего следующие поля:

  • Страна (строка)
  • dia (int)
  • Сегмент (строка)

    pr.TemplateView()

является методом класса для списка, содержащего те же поля и тот же тип данных

список t может содержать больше информации, чем список h, поэтому мне нужно отфильтровать список h по нескольким критериям, но при запуске код неправильно фильтрует список, возвращая ноль.

1 Ответ

2 голосов
/ 29 июля 2011

Если v равно нулю, это означает, что ни одно из значений в t не соответствует вашему предложению Where, поэтому FirstOrDefault вернуло значение по умолчанию TemplateHeader, которое равно нулю.

Без дополнительной информации или примеров данных у нас нет абсолютно никакой возможности узнать , почему не соответствует ни одно из значений в t, но это то, что указывает нулевое значение v.

...