按所选人员排序

本文关键字:排序 | 更新日期: 2023-09-27 18:27:01

我想知道如何才能在linq的列表中选中orderby

例如,我在列表中有4个名字

  1. Bob
  2. Ryan
  3. Sarah

只要说旁边的数字是他们的关联ID即可。

所以用户选择"Sue and Sarah"-我希望Sue和Sarah现在在列表的顶部

2-苏4-Sarah1-鲍勃3-瑞安

我的Linq是

List<entity> = List.OrderBy(x => x.id == IDsSelected).GroupBy() // Probably not group by... 

有什么想法吗?

提前感谢

按所选人员排序

您可以将OrderBybool一起使用,但如果true应该在列表的顶部,则必须使用OrderByDescending(我记得将true视为1,将false视为0):

List<entity> = List
    .OrderByDescending(x => IDsSelected.Contains(x.Id))
    .ThenBy(x => x.Name)  // if desired
    .ToList();