我很难理解list.OrderBy
作品是什么,我不明白我做错了什么......我觉得这很容易让我在某处犯了一些愚蠢的错误,或者说它只是以我理解的方式工作.无论如何,我想要做的是从属性中排序一个列表,我做了一个简单的程序来说明我的意思.
class Hero { public int level; public Hero(int level) { this.level = level; } static void Main(string[] args) { Hero hero1 = new Hero(1); Hero hero3 = new Hero(3); Hero hero2 = new Hero(2); Listlist = new List (); list.Add(hero1); list.Add(hero3); list.Add(hero2); list.OrderBy(x => x.level).ToList(); foreach (Hero x in list) { Console.WriteLine(x.level); } } }
这给出了输出:
1 3 2
虽然我想输出:
1 2 3
任何人都可以向我解释为什么它不这样做以及我如何解决它?我对c#很新.
你只需要分配什么OrderBy
回报.
list = list.OrderBy(x => x.level).ToList();