背景:
当您在工作中遇到这样的排序场景时,您将无法在System.linq.enumerabel,orderby,orderbyDescending排序方法中使用扩展方法。
记录实现这一需求的不同方法:
测试代码:`公共班级学生{公共字符串名称{get;放;}
1:使用内置的排序方法,硬编码的不同字段
命名空间:在system.linq下进行bydescending。
输出如下:
2:通过实现ICOMPARER接口来定制排序
输出如下:
注意:C#中的ICOMPARER接口ICOMPARER接口
前者定义了通用比较方法排序的底部逻辑,后者借助于可观的界面来定义排序方法
例如,返回XcurrentPropvalue.corerrrentPropvalue);示例代码中的比较方法;CompareTo方法仍然取决于默认接口中的CompareTo方法,该方法由默认值实现。
原始:https://juejin.cn/post/7095595824062677029