用C#对列表进行排序

本文关键字:排序 列表 | 更新日期: 2023-09-27 17:59:50

public class BatchProcess
    {
        public string process { get; set; }
        public DateTime runtime { get; set; }
        public bool running { get; set; }
    }

所以我有一份这些人的名单——List<BatchProcess> list

我该如何根据每一列进行排序?我听说我可以用LINQ做这件事,但我用LINQ太糟糕了。那看起来怎么样?

谢谢。

用C#对列表进行排序

您可以通过运行时进行排序,例如:

var orderedByRuntime = list.OrderBy(p => p.runtime);

如果你想按"流程"降序排序,你可以使用:

var orderedByProcessDesc = list.OrderByDecending(p => p.process);
下面是一个使用LINQ(lambda语法(创建按process排序的列表的示例。
var listByProcess = list.OrderBy(bp => bp.process);

使用OrderBy:

var sortedList = list.OrderBy(p => p.runtime).ToList();

如果你想按所有它们进行排序,就像你所要求的那样,你可以执行以下

var sorted = list.OrderBy(p => p.process).ThenBy(r => r.runtime);