Использование Где со списками внутри списков
Мне нужно создать список с данными из List<List<T>()
, Мне не нужно конвертировать данные; Мне нужно только найти элементы с конкретной информацией.
Пример: List<Countries>()
: в этом списке есть еще один, содержащий города
Мне нужно найти правильный Город (плохой пример) ^^
Я пробовал:
countryList.Where(x=>x.Cities.Where(y=>y.Name.Contains("New")));
После поиска здесь, я считаю, что мне нужно что-то с select
,
4 ответа
var cities = from country in countrList
from city in country.Cities
where city.Name.Contains("New")
select city;
или же:
var cities = countrList
.SelectMany(country => country.Cities)
.Where(city => city.Name.Contains("New"));
Пытаться countriesList.FirstOrDefault( x => x.Cities.Any( y => y.Name.Contains("New"));
Я думаю, что вы хотите, чтобы все города, название которых содержит ключевое слово "Новый":
var cities = countryList.SelectMany(country => country.Cities)
.Where(city => city.Name.Contains("New"))
.ToList();
countrList.Where(x=>x.Cities.Any(y=>y.Name.Contains("New")));