Использование Где со списками внутри списков

Мне нужно создать список с данными из 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")));
Другие вопросы по тегам