none
linq分组,组排序,组内数据排序 RRS feed

  • 问题

  • 我有如下类型的数据,用于GridView进行显示(显示Name属性)

    public class Data
    {
        public string GroupName { get; set; }
        public int GroupOrder { get; set; }
        public int DataOrder { get; set; }
        public string Name { get; set; }
    }

    如何使用linq首先使用GroupName进行分组,分组后使用GroupOrder对组进行排序,最后把每一个组里面的数据使用DataOrder进行数据排序?

    GroupOrder和DataOrder值为0~N,按0~N从小到大排列。





    • 已编辑 oneonce 2015年4月21日 16:31
    2015年4月21日 16:02

答案

  • 你好,

    按照你的要求是可以排序的,但是我觉得好像把一个简单的问题弄得复杂化了,这样真的没问题吗?

    使用下面类似的代码可以对数组进行分组然后对分组结果进行排序。

      List<Data> datas = new List<Data>();
                var grouping = datas.GroupBy(d => d.GroupName).OrderBy(g => g.Key);
    如果可以的话,请把你的场景描述一下,看看有没有更好的办法来完成相同的目的。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 oneonce 2015年4月22日 11:29
    2015年4月22日 7:41