List.Sort() 抛出 mscorlib 中发生了类型为 'System.InvalidOperation

本文关键字:InvalidOperation System 类型 发生了 Sort 抛出 mscorlib List | 更新日期: 2023-09-27 18:32:23

我有一个人员类型列表,它有一些项目,我想默认对此列表进行排序(没有任何参数)。所以我用了人。sort() 方法。当我执行代码时,我收到异常写入

类型为"系统.无效操作异常"的未处理异常 发生在姆科利布.dll

在 Sort() 方法。任何专家请解释背后的原因。

List<Person> person = new List<Person>();
person.Add(new Person() { Name = "crank arm", Age = 1234 });
person.Add(new Person() { Name = "chain ring", Age = 1334 });
person.Add(new Person() { Name = "regular seat", Age = 1434 });
person.Add(new Person() { Name = "banana seat", Age = 1444 });
person.Sort();

List.Sort() 抛出 mscorlib 中发生了类型为 'System.InvalidOperation

你需要

让你的Person类实现IComparable

排序方法在以下情况下引发该异常

默认比较器 Comparer。默认找不到类型 T 的 IComparable 泛型接口或 IComparable 接口的实现。

来自 MSDN

Person

是你定义的类,Sort 方法不知道 Person 对象之间如何比较,需要实现比较方法,可以参考:http://msdn.microsoft.com/en-us/library/3da4abas(v=vs.110).aspx

相关文章:
  • 没有找到相关文章