我制作了一个Xamarin表单应用程序,问题是我有一个名为lista2的列表,该列表具有一个名为poli的对象。波里是它所在的城市。我想根据不同的城市列出清单,这是我使用此命令完成的
var poleislist = lista2.Select(x => x.poli).Distinct();
现在,我希望根据每个元素在lista2上的出现次数对这个列表进行排序。例如,较大的城市出现的频率更高,我希望它们在列表的第一位,因为此列表(极客列表)将成为选择器的项目来源。
非常感谢您!
答案 0 :(得分:0)
您可以Distinct
而不是使用Group
,而是按降序排列,然后按Select
poli
排序。
会是这样的:
var poleislist = lista2.GroupBy(item => item.poli)
.OrderByDescending(a => a.Count())
.Select(x => x.Key)
.ToList();
注意:很抱歉,您尚未对其进行测试,但这应该可以工作。基本上,这应该可以使您获得列表中的所有城市,并按出现次数降序排列。
希望这会有所帮助。-