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

标签 c# list sorting

如何正确排序此结构?

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);

最佳答案

您可以在此处使用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);

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

  People = People.OrderBy(x => x.Age).ToList();

关于c# - 如何对具有特定结构元素的结构列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22437031/

相关文章:

java - 如何在保持排序的同时将排序的链表插入另一个排序的链表?

python - 有选择地解析大数据文件

c# - LINQ 中的匿名类型查询或普通查询

python - 使用同一 Dataframe 中另一列的 int 作为索引获取列中的列表值

list - Haskell 最左边树的最深节点

python - Pydot - 将节点存储在列表中 - 不可散列类型 : 'list' error

c# - 需要一种从具有层次结构数据的表中获取记录 ID 的方法

c# - 使用并行程序集加载 x64 或 x32 版本的 DLL

c# - 如何在 c sharp 中以编程方式将 html 标签 dir 属性从 rtl 设置为 ltr,反之亦然

java - 根据特定元素对数组进行排序