在列表中使用列表中的列表

时间:2010-11-04 08:27:15

标签: c# linq list where

我需要使用List<List<T>()创建一个包含数据的列表。我不需要转换数据;我只需要找到具有特定信息的元素。

示例:List<Countries>():此列表中的另一个包含城市

我需要找到合适的城市(糟糕的例子)^^

我试过了:

countryList.Where(x=>x.Cities.Where(y=>y.Name.Contains("New")));

在这里搜索后,我相信我需要select

4 个答案:

答案 0 :(得分:3)

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"));

答案 1 :(得分:1)

尝试countriesList.FirstOrDefault( x => x.Cities.Any( y => y.Name.Contains("New"));

答案 2 :(得分:1)

我想你想要名字中包含关键字“New”的所有城市:

var cities = countryList.SelectMany(country => country.Cities)
                        .Where(city => city.Name.Contains("New"))
                        .ToList();

答案 3 :(得分:0)

countrList.Where(x=>x.Cities.Any(y=>y.Name.Contains("New")));