相对于System.Linq的OrderBy及OrderByDescending方法,调用后产生IOrderedEnumberable对象,这个对象为排序后的返回值,但原对象未发生变化。

试想,有这种需求,ObservableCollection调用排序方法后,此对象也跟着排序,怎么做呢?只能自己写个扩展方法了,方法内使用的冒泡排序算法,非常简单,当然使用是更简单、方便了。

注意:将方法写为扩展方法更方便:

class Student

{

int id;

string name;

}

ObservableCollection listDatas=new ObservableCollection<Student>();

listData .Add(new Student(){id=2,name="xiaoming"};

listData.Add(new Student(){id=1,name="李华"};

listData.Add(new Student(){id=3,name="张度"};

listDatas.OrderBy(cu=>cu.id,true);//按ID升序排序

listDatas.OrderBy(cu=>cu.id,false);//按ID降序排序

listDatas.OrderBy(cu=>cu.name,false);//按名称升序排序

listDatas..ThenBy(x => x.name)//按名称升序排序 (只有ID相同的情况下,按name升序排序)

最新文章

  1. HTTP 2.0与HTTP 1.1区别
  2. glusterFS分布式文件系统的搭建
  3. javascript函数中的三个技巧【二】
  4. Effective Java 61 Throw exceptions appropriate to the abstraction
  5. Makefile中用宏定义进行条件编译
  6. 编码神器之sublime(插件安装)
  7. Linux查看当前系统登录用户、登录日志、登录错误日志
  8. 不同浏览器下的CSS HACK
  9. 在 IIS 上创建 FTP 站点
  10. ffmpeg调试相关知识点
  11. MySQL字符串类型
  12. UWP brush
  13. 看图说话,P2P 分享率 90% 以上的 P2P-CDN 服务,来了!
  14. Notepad++常用快捷键
  15. java项目改为web项目
  16. 不使用JS实现表单验证
  17. Eclipse 中yml自动提示功能相关设置
  18. systemtap 用户态调试
  19. UNIX环境高级编程(第三版)关于apue.h的用法
  20. [SDOI2011]黑白棋 kth - nim游戏

热门文章

  1. agentzh 的 Nginx 教程(版本 2019.07.31)
  2. MiniUI增删改查操作及确认按钮
  3. linux: 右键添加打开终端
  4. uboot下如何使用fatls工具?
  5. Dart静态方法、对象操作符和类的继承
  6. pl/sql用for in和for select into循环遍历表
  7. SQLite带参数处理方法
  8. k8s记录-下载k8s相关二进制包(一)
  9. How to Plan and Configure YARN and MapReduce 2 in HDP 2.0
  10. python flask框架学习——开启debug模式