根据元素对C#List进行排序

pro*_*eek 3 c# sorting element

我有C#类如下:

public class ClassInfo {
    public string ClassName;
    public int BlocksCovered;
    public int BlocksNotCovered;


    public ClassInfo() {}

    public ClassInfo(string ClassName, int BlocksCovered, int BlocksNotCovered) 
    {
        this.ClassName = ClassName;
        this.BlocksCovered = BlocksCovered;
        this.BlocksNotCovered = BlocksNotCovered;
    }
}
Run Code Online (Sandbox Code Playgroud)

我有ClassInfo()的C#List如下

List<ClassInfo> ClassInfoList;
Run Code Online (Sandbox Code Playgroud)

如何基于BlocksCovered对ClassInfoList进行排序?

Bro*_*ass 6

这将返回一个List<ClassInfo>order by BlocksCovered:

var results = ClassInfoList.OrderBy( x=>x.BlocksCovered).ToList();
Run Code Online (Sandbox Code Playgroud)

请注意,您应该真正创建BlocksCovered一个属性,现在您拥有公共字段.


Car*_*rra 6

myList.Sort((x,y) => x.BlocksCovered.CompareTo(y.BlocksCovered)
Run Code Online (Sandbox Code Playgroud)