首页 > 解决方案 > xamarin 根据它们出现的次数形成不同的对象排序

问题描述

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

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

现在我希望这个poleislist 根据每个元素在lista2 上的次数进行排序。例如,较大的城市出现得更频繁,我希望它们出现在列表的第一位,因为这个列表(poleislist)将成为选择器的 itemsource。

非常感谢!

标签: formslistsortingxamarindistinct

解决方案


而不是使用Distinct你可以Group的列表,按计数降序排序,Select然后poli.

它会是这样的:

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

注意:抱歉没有测试它,但这应该可以工作。基本上,这应该让您获得列表中的所有城市,按出现次数降序排列。

希望这可以帮助。-


推荐阅读