gpt4 book ai didi

c# - 使用LINQ排序对象的不同属性

转载 作者:太空宇宙 更新时间:2023-11-03 17:40:18 24 4
gpt4 key购买 nike

截至目前,我正在使用LINQ来订购电话簿中的人员列表。目前,我正在按分支顺序排序列表,然后按其全名(姓,名)排序。我将一个新属性添加到名为location的人员对象中,该属性与分支具有相同的值,因此我想将其包含到我的LINQ语句中,但是我不确定如何。

这是我目前拥有的:

phoneList.OrderBy(e => branchOrder.IndexOf(e.Branch)).ThenByDescending(e => e.FirstName == null).ThenBy(e => e.FullName)


在LINQ语句中,您可以看到 branchOrder.IndexOf函数。 BranchOrder是我按数字/字母顺序定义的所有分支的列表。

如何同时订购 branchOrder.IndexOf(e.Branch)branchOrder.IndexOf(e.Location)

注意:Location可以为NULL,但如果不为NULL,则应采用Location而不是e.Branch。

最佳答案

使用空合并运算符。

phoneList.OrderBy(e => branchOrder.IndexOf(e.Location ?? e.Branch))

关于c# - 使用LINQ排序对象的不同属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28682898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com