inAnotherList抱歉不好解释,看下面的代码:当我调用GetListOfCountires时,它应该返回NZ和CN。我也想使用Linq而不是foreach。私人静态列表国家=新列表();privatestaticvoidMain(){varcity1=newCity{Name="奥克兰"};varcity2=newCity{Name="Wellington"};varcity3=newCity{Name="Perth"};varcity4=newCity{Name="Sydney"};varcity5=newCity{Name="北京"};varcountry1=newCountry{Name="NZ",Cities=newList{city1,city2}};varcountry2=newCountry{Name="AU",Cities=newList{city3,city4}};varcountry3=newCountry{Name="CN",Cities=newList{city5}};Countries.Add(country1);Countries.Add(country2);Countries.Add(country3);ListcityNames=newList{"奥克兰","北京"};varcountries=GetListOfCountires(城市名称);//这应该返回NZ和CN}publicclassCountry{publicstringName;公共列表城市=新列表();}publicclassCity{publicstringName;}publicstaticListGetListOfCountires(ListcityNames){Listresult=newList();foreach(城市名称中的变种城市名称){result.Add(Countries.Where(x=>x.Cities.Contains(cityName)));//错误???}返回结果;感谢在城市名称列表和每个国家/地区的城市列表之间执行交集并仅返回存在此类交集的国家varcountries=Countries.Where(x=>x.Cities.Intersect(cityNames).Any());你需要做什么才能得到他们的城市在哪里上面的城市列表是C#学习教程:Linq查询-在另一个列表中列出所有共享的内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——publicstaticListGetListOfCountires(ListcityNames){returnCountries.Where(country=>country.Cities.Any(city=>cityNames.Contains(city.Name)).ToList()}本文采集自网络,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如有转载,转载请注明出处:
