首页 新闻 会员 周边

C# hashset排序

0
悬赏园豆:15 [已解决问题] 解决于 2014-07-03 18:21

声明类

1         public class Line
2         {
3              public int lineNum;
4              public string storeNum;
5              public string MosrName;
6              public string mosrNum;
7         }

声明hashset对象

1  HashSet<Line> lines = new HashSet<Line>();

假设给lines赋值后,lines中的数据结构如下:
lineNum    storeNum       MosrName  MosrNum
1,                 5002 ,        Scoresby,    5659
2,                 5099,         Scoresby,    5659
3,                 5052,         Scoresby,    5659
4,                 5003,         Scoresby,    5659
5,                 5049,         Scoresby,    5659
6,                 5131,         Scoresby,    5659
7,                 5014,          Scoresby,   5659

如何以storeNum作为Lines对象中各行的关键字进行排序?

freecodeX的主页 freecodeX | 初学一级 | 园豆:148
提问于:2014-07-02 17:50
< >
分享
最佳答案
0

你要排序为啥还要用HashSet呢?

收获园豆:5
刘宏玺 | 专家六级 |园豆:14020 | 2014-07-02 18:01

考虑到现成的功能已经写好,不想动动较大,在不影响前面功能的前提下,自行实现Hashset中OrderBy方法。如果不用hashset,哪些方法更简洁呢

freecodeX | 园豆:148 (初学一级) | 2014-07-02 18:08

@freecodeX: List<T> 啊,然后你自己实现一个比较器IComparer就可以Sort()了

刘宏玺 | 园豆:14020 (专家六级) | 2014-07-02 18:12
其他回答(2)
0

嗯,对hastset排序是没意义的,因为排序后就是一个list了。所以你直接读出来放list里就行了

收获园豆:5
吴瑞祥 | 园豆:29449 (高人七级) | 2014-07-02 20:51
0

可以先ToList()然后OrderBy了。在OrderBy中自定义一个比较器。

收获园豆:5
幻天芒 | 园豆:37175 (高人七级) | 2014-07-03 11:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册