2011-06-20 79 views
1
public class BatchProcess 
    { 
     public string process { get; set; } 
     public DateTime runtime { get; set; } 
     public bool running { get; set; } 
    } 

所以我有一个这些家伙的列表 - List<BatchProcess> list在C中对列表进行排序#

我将如何根据这些列中的每一列进行排序?我听说我可以用LINQ来做,但我对LINQ很不好。那看起来怎么样?

谢谢。

回答

6

您可以通过运行时间进行排序,例如,通过:如果你想通过“过程”的降序排序

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

,你可以使用:

var orderedByProcessDesc = list.OrderByDecending(p => p.process); 
2

下面是一个例子使用LINQ(lambda语法)创建一个按process排序的列表。

var listByProcess = list.OrderBy(bp => bp.process); 
2

使用排序依据:

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

如果你想所有的人进行排序,因为它似乎这是你问你可以做以下什么

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