if (regionTerritory.Any(m => m.Region == int.Parse(region.RegionCode)))
{
// region exists, add territory
regionTerritory.First(m => m.Region == int.Parse(region.RegionCode)).Territories.Add(int.Parse(region.TerritoryCode), region.TerritoryName);
}
有谁可以告诉我这意味着什么? 以上代码中的 m 和任何,第一次和添加?
先谢谢。
答案 0 :(得分:3)
m
是lambda表达式的参数。它将与集合中的每个元素一起调用(根据需要)。然而,这是编写代码的低效方式。最好使用:
int regionCode = int.Parse(region.RegionCode);
var targetRegion = regionTerritory.FirstOrDefault(m => m.Region == regionCode);
if (targetRegion != null)
{
targetRegion.Territories.Add(regionCode, region.TerritoryName);
}
现在:
region.RegionCode
一次regionTerritory
中找到匹配的区域一次(然后添加到其中)答案 1 :(得分:0)
你是LINQ的新手我想,我建议你在下面提到的网站上创建一个免费帐户,观看视频几个小时。您对LINQ感到兴奋。
网站: www.pluralsight.com 搜索: LINQ Fundamentals with C#6.0 ,作者:Scott Allen
在那里,您会找到一个清晰,正确的答案。