如何对具有特定结构元素的结构列表进行排序?

afs*_*hin 2 c# sorting list

如何正确排序这个结构?

struct Person 
{
    public string Name;
    public int    Age;
}

List<Person> People = new List<Person>();

// Add several hundred records

// sort by age
People.Sort(Person.Age);
Run Code Online (Sandbox Code Playgroud)

Dmi*_*nko 5

您可以在此处使用lambda 表达式以及泛型

  struct Person { 
    public string Name; 
    public int Age; 
  }

  // generic List<T> is much better than deprecated List
  List<Person> People = new List<Person>();
  ...
  People.Sort((x, y) => x.Age - y.Age);
Run Code Online (Sandbox Code Playgroud)

另一个流行的解决方案是Linq,但它创建了一个新列表,因此可能效率不高

  People = People.OrderBy(x => x.Age).ToList();
Run Code Online (Sandbox Code Playgroud)