这个匿名对象没有实现IComparable接口(示例代码)

栏目: Web · 发布时间: 2021-01-25

来源:cnblogs.com

简介  这篇文章主要介绍了这个匿名对象没有实现IComparable接口(示例代码)以及相关的经验技巧,文章约759字,浏览量381,点赞数3,值得参考!

https://docs.microsoft.com/zh-cn/dotnet/api/system.icomparable-1?redirectedfrom=MSDN&view=netframework-4.7.2

中文:必须至少有一个对象实现 IComparable。

序列排序时报这个错误

lstReports.OrderBy(r => new { r.DepartmentName, r.ReportNo }).ToList(); //error occured

在LINQ to SQL/Entity中可以这么用,LINQ 2 Object 不能这么用,因为 new { r.DepartmentName, r.ReportNo } 这个匿名对象没有实现IComparable接口,也无法实现这个接口

 

其实多字段排序用 ThenBy/ThenByDescending 就可以:

lstReports.OrderBy(r => r.DepartmentName).ThenBy(r => r.ReportNo).ToList();


以上就是本文的全部内容,希望对大家的学习有所帮助,版权归原作者或者来源机构所有,感谢作者,如果未能解决你的问题,请参考以下文章。

内部类和匿名方法的使用!

C# 用实例来理解IComparable和IComparer

实现接口的匿名类的对象

C# 泛型接口(示例代码)

Java中接口式的匿名内部类的构造方法