C#集合排序问题

只道当时 2016-08-26 09:36:35
将集合中相同内容的数据排列在一起 比如:

监控点所属部门,CamIndexCode,CamName,
水利厅,33010000001310000002,九溪珊瑚坝
水利厅,33010000001310000003,七格沙场
水利厅,33000000001310000022,西山
钱塘江管理局,33000000001310000011,市防汛仓库(室内)
水利厅,33000000001310000003,青山殿水库
水利厅,33000000001310000020,拌料厂
钱塘江管理局,33000000001310000011,浙江
水利厅,33000000001310000021,东山
钱塘江管理局,33000000001310000010,市防汛仓库(室外)

根据监控点所属部门排序为

监控点所属部门,CamIndexCode,CamName,
水利厅,33010000001310000002,九溪珊瑚坝
水利厅,33010000001310000003,七格沙场
水利厅,33000000001310000022,西山
水利厅,33000000001310000003,青山殿水库
水利厅,33000000001310000020,拌料厂
水利厅,33000000001310000021,东山
钱塘江管理局,33000000001310000011,市防汛仓库(室内)
钱塘江管理局,33000000001310000011,浙江
钱塘江管理局,33000000001310000010,市防汛仓库(室外)

...全文
187 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 2016-08-26
  • 打赏
  • 举报
回复
3楼正解,直接Orderby(x=>x.监控点所属部门)
摇撼大地 2016-08-26
  • 打赏
  • 举报
回复
引用 4 楼 qq_20324803 的回复:
初级的如果是根据数字大小排序,可以直接用Orderby,然后参数就一个Func。 如果要求特殊的定制,比如按照每个数据的第一个字符串的第二个数字,或者说字符串长度, 就需要自己写一个类,继承ICompare接口,自己写比较方法。 然后用Orderby的另一个重载形式,就可以了。
傻了。字符串长度不用这么弄,只要用.length就可以了。反正如果需要排列的要求特殊,就需要自己写比较方法了。
摇撼大地 2016-08-26
  • 打赏
  • 举报
回复
初级的如果是根据数字大小排序,可以直接用Orderby,然后参数就一个Func。 如果要求特殊的定制,比如按照每个数据的第一个字符串的第二个数字,或者说字符串长度, 就需要自己写一个类,继承ICompare接口,自己写比较方法。 然后用Orderby的另一个重载形式,就可以了。
  • 打赏
  • 举报
回复
list.OrderBy(l=>l.Name)
查下Linq不就会了……
只道当时 2016-08-26
  • 打赏
  • 举报
回复
引用
linq的orderby,thenby满足你的要求,当然如果你数据量特别大,有性能要求的话就要自己写算法了
OrderBy要怎么写啊? 比如集合为ls ls.OrderBy<> 括号中传什么啊?
  • 打赏
  • 举报
回复
linq的orderby,thenby满足你的要求,当然如果你数据量特别大,有性能要求的话就要自己写算法了

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧