Используйте Где с. Выберите Linq - PullRequest
8 голосов
/ 17 марта 2011

У меня есть сценарий, где я должен использовать. Выберите где в LINQ. Ниже мой запрос.

List<DTFlight> testList = _ctrFlightList.Select(i => new DTFlight() { AirLineName = i.AirLineName,ArrivalDate = i.ArrivalDate }).ToList();

Я хочу использовать где (добавить условие) к этому запросу.

Пожалуйста, помогите ... Спасибо.

Ответы [ 3 ]

20 голосов
/ 17 марта 2011

Я предлагаю вам использовать Where:

List<DTFlight> testList = _ctrFlightList.
    Where(ctrFlight => ctrFlight.Property > 0).
    Select(i => new DTFlight() { AirLineName = i.AirLineName, ArrivalDate = i.ArrivalDate }).ToList();

Где возвращает IEnumerable, чтобы вы могли применить к нему свой Select.

7 голосов
/ 17 марта 2011

Просто добавьте Where перед Select:

List<DTFlight> testList =
    _ctrFlightList.Where(<your condition>)
                  .Select(i => new DTFlight() { AirLineName = i.AirLineName,
                                                ArrivalDate = i.ArrivalDate })
                  .ToList();
1 голос
/ 17 марта 2011

В чем проблема?

List<DTFlight> testList = _ctrFlightList.Where(p => p.ArrivalDate > DateTime.Now).Select(i => new DTFlight() { AirLineName = i.AirLineName,ArrivalDate = i.ArrivalDate }).ToList();

например ... В каком состоянии вы нуждаетесь?

...