一个国家有州列表。一个州有一个城市清单。查找邮政编码为11201的城市所在的州。
我该怎么做呢?
当我做
Country.States.SelectMany(
s => s.Cities.Where(c => c.Zip ==11201)
)
.Select(s => s);
我得到的是城市,而不是州。
最佳答案
Country.States.Where(s => s.Cities.Any(c => c.Zip == 11201));
正如本杰明·格伦鲍姆(Benjamin Gruenbaum)指出的,如果要检索一个状态(而不是列表),请用
Where
替换FirstOrDefault
Country.States.FirstOrDefault(s => s.Cities.Any(c => c.Zip == 11201));