【发布时间】:2015-02-23 20:32:25
【问题描述】:
截至目前,我正在使用 LINQ 对电话簿中的人员列表进行排序。目前,我按分支排序列表,然后按他们的全名(姓氏,名字)。我正在向名为 location 的 person 对象添加一个新属性,该属性与分支具有相同的值,因此我想将其包含到我的 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。
【问题讨论】: