我有一张城市的清单。
List<City> cities;
我想按人口对列表进行排序。我想象的代码是这样的:
cities.Sort(x => x.population);
但这不管用。我应该如何对此列表进行排序?
发布于 2013-05-18 10:39:27
使用Linq函数的OrderBy。请参阅http://msdn.microsoft.com/en-us/library/bb534966.aspx
cities.OrderBy(x => x.population);
发布于 2013-05-18 10:43:52
使用这个,这将会起作用。
List<cities> newList = cities.OrderBy(o=>o.population).ToList();
发布于 2018-05-31 16:19:23
你可以在没有LINQ的情况下做到这一点。请参见IComparable界面文档here
cities.Sort((x,y) => x.Population - y.Population)
或者您可以将此比较函数放在City类中,
public class City : IComparable<City>
{
public int Population {get;set;}
public int CompareTo(City other)
{
return Population - other.Population;
}
...
}
然后你就可以这样做
cities.Sort()
它将返回按人口排序的列表。
https://stackoverflow.com/questions/16620135
复制相似问题