州有城市。只有在没有平局的情况下,我才需要拥有大多数城市的州。并列意味着排名前 2 的州拥有相同数量的城市。
var stateWithMostCities = _states
.OrderByDescending(_p => _p.cities.Count())
.Take(2)
.ToList();
现在我可以检查第一个州的城市数是否=第二个州,并确定是否存在平局。然而,我想问是否可以使用 takewhile、skip 和 linq 的其他创造性用法在上面显示的同一行上实现这一点。谢谢
像这样的东西吗?
var stateWithMostCitiesWithoutATie =_states.GroupBy(_p => _p.cities.Count())
.OrderByDescending(g=>g.Key)
.FirstOrDefault(g=> g.Count()==1? g.First():null);
关键是,正如 @Mong Zhu 在 Group by the counts of city 中指出的那样,之后你可以通过 desc 排序来获得最大值,如果最大组有多个,那么你就有平局了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)