C# ObservableCollection两个字段排序的情况
2024-08-26 22:46:37
相对于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升序排序)
最新文章
- HTTP 2.0与HTTP 1.1区别
- glusterFS分布式文件系统的搭建
- javascript函数中的三个技巧【二】
- Effective Java 61 Throw exceptions appropriate to the abstraction
- Makefile中用宏定义进行条件编译
- 编码神器之sublime(插件安装)
- Linux查看当前系统登录用户、登录日志、登录错误日志
- 不同浏览器下的CSS HACK
- 在 IIS 上创建 FTP 站点
- ffmpeg调试相关知识点
- MySQL字符串类型
- UWP brush
- 看图说话,P2P 分享率 90% 以上的 P2P-CDN 服务,来了!
- Notepad++常用快捷键
- java项目改为web项目
- 不使用JS实现表单验证
- Eclipse 中yml自动提示功能相关设置
- systemtap 用户态调试
- UNIX环境高级编程(第三版)关于apue.h的用法
- [SDOI2011]黑白棋 kth - nim游戏