如何在c#中对类的<list>进行排序?

mar*_*adi 2 c# asp.net list

我有一个这样的类列表:

 public class CityCodeInfo
 {
    public string CityName;
    public string Province;
    public string Code; 
  }

  List<CityCodeInfo> lstCityt = new List<CityCodeInfo>();
Run Code Online (Sandbox Code Playgroud)

我如何按其任何变量(cityname,province和code)对此列表进行排序

我试过这段代码:

  lstCityt.Sort((x, y) => string.Compare(x.CityName, y.CityName));
Run Code Online (Sandbox Code Playgroud)

但它不起作用......

任何的想法?!

Kun*_*han 9

您可以使用LINQ.

升序

var result = lstCityt.OrderBy(C=> C.CityName).ThenBy(C=> C.Province).ThenBy(C=> C.Code);
Run Code Online (Sandbox Code Playgroud)

降序排列

var result = lstCityt.OrderByDescending(C=> C.CityName).ThenByDescending(C=> C.Province).ThenByDescending(C=> C.Code);
Run Code Online (Sandbox Code Playgroud)

var result = lstCityt.OrderBy(C=> C.CityName).ThenByDescending(C=> C.Province).ThenByDescending(C=> C.Code);
Run Code Online (Sandbox Code Playgroud)