我想知道我如何能够orderby谁已经被选中在一个名单在linq。
例如,我在列表中有4个名字
只要说他们旁边的号码是他们相关的ID。
因此,用户选择"Sue和Sarah“--我希望Sue和Sarah现在处于列表的首位。
2-苏4-莎拉1-鲍勃3-莱恩
我所拥有的是
List<entity> = List.OrderBy(x => x.id == IDsSelected).GroupBy() // Probably not group by... 有什么想法吗?
提前谢谢
发布于 2014-10-17 09:33:23
您可以将OrderBy与bool一起使用,但如果true应该位于列表的首位,则必须使用OrderByDescending (我记得,将true作为1,false作为0):
List<entity> = List
.OrderByDescending(x => IDsSelected.Contains(x.Id))
.ThenBy(x => x.Name) // if desired
.ToList(); https://stackoverflow.com/questions/26422027
复制相似问题