我想用 C# 对列表进行排序。
就像结构属性 AVC 变为真然后首先显示它们然后 AVC 变为假。有什么方法可以在 C# LINQ 中执行此操作?
最佳答案
嗯,使用 LINQ 的最简单方法是这样的:
list = list.OrderBy(x => x.AVC ? 0 : 1)
.ToList();
或
list = list.OrderByDescending(x => x.AVC)
.ToList();
我相信 bool
的自然排序值为 false < true
, 但第一种形式使 IMO 更清晰,因为每个人都知道 0 < 1
.
请注意,这不会对原始列表本身进行排序 - 它会创建一个新列表,并将引用分配回 list
多变的。如果你想就地排序,你应该使用 List<T>.Sort
方法。
关于c# - 使用 LINQ 在 C# 中对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4003835/