在C中对列表进行排序#
问题描述:
public class BatchProcess
{
public string process { get; set; }
public DateTime runtime { get; set; }
public bool running { get; set; }
}
所以我有一个这些家伙的列表 - List<BatchProcess> list
。在C中对列表进行排序#
我将如何根据这些列中的每一列进行排序?我听说我可以用LINQ来做,但我对LINQ很不好。那看起来怎么样?
谢谢。
答
您可以通过运行时间进行排序,例如,通过:如果你想通过“过程”的降序排序
var orderedByRuntime = list.OrderBy(p => p.runtime);
,你可以使用:
var orderedByProcessDesc = list.OrderByDecending(p => p.process);
答
下面是一个例子使用LINQ(lambda语法)创建一个按process
排序的列表。
var listByProcess = list.OrderBy(bp => bp.process);
答
使用排序依据:
var sortedList = list.OrderBy(p => p.runtime).ToList();
答
如果你想所有的人进行排序,因为它似乎这是你问你可以做以下什么
var sorted = list.OrderBy(p => p.process).ThenBy(r => r.runtime);