【问题标题】:xamarin forms distinct objects sort based on the no of times that they appearxamarin 根据它们出现的次数形成不同的对象排序
【发布时间】:2018-09-11 22:53:04
【问题描述】:

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

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

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

非常感谢!

【问题讨论】:

    标签: forms list sorting xamarin distinct


    【解决方案1】:

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

    应该是这样的:

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

    注意:抱歉没有得到测试,但这应该可以。基本上,这应该会为您提供列表中的所有城市,按出现次数降序排列。

    希望这会有所帮助。-

    【讨论】:

    • 谢谢,它似乎正在工作,但是当我使用以下命令运行应用程序时:selectPoli.ItemsSource =poleislist.ToList(); (其中 selectPoli 选择器)它向我显示了这个错误:System.NullReferenceException:对象引用未设置为对象的实例。你有什么想法是什么导致了这个错误?
    • 它抛出异常是因为poleislist 为空
    • 是的,列表中的一项为空,它正在引发该异常。再次非常感谢!
    猜你喜欢
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    相关资源
    最近更新 更多