xamarin会根据出现的次数形成不同的对象排序

时间:2018-09-11 22:53:04

标签: forms list sorting xamarin distinct

我制作了一个Xamarin表单应用程序,问题是我有一个名为lista2的列表,该列表具有一个名为poli的对象。波里是它所在的城市。我想根据不同的城市列出清单,这是我使用此命令完成的

var poleislist = lista2.Select(x => x.poli).Distinct();

现在,我希望根据每个元素在lista2上的出现次数对这个列表进行排序。例如,较大的城市出现的频率更高,我希望它们在列表的第一位,因为此列表(极客列表)将成为选择器的项目来源。

非常感谢您!

1 个答案:

答案 0 :(得分:0)

您可以Distinct而不是使用Group,而是按降序排列,然后按Select poli排序。

会是这样的:

var poleislist = lista2.GroupBy(item => item.poli)
                       .OrderByDescending(a => a.Count())
                       .Select(x => x.Key)
                       .ToList();

注意:很抱歉,您尚未对其进行测试,但这应该可以工作。基本上,这应该可以使您获得列表中的所有城市,并按出现次数降序排列。

希望这会有所帮助。-