【问题标题】:Group into a dictionary of elements分组到元素字典中
【发布时间】:2011-03-24 04:35:42
【问题描述】:

您好,我有一个类类型为 class1 的元素列表,如下所示。我如何将它们分组到一个

Dictionary<int,List<SampleClass>> 基于 groupID

class SampleClass
{
   public int groupID;
   public string someData;
 }                                                                                  

我是这样做的:

var t =(from data in datas group data by data.groupID into dataGroups select dataGroups).ToDictionary(gdc => gdc.ToList()[0].groupID, gdc => gdc.ToList());

有没有更好的方法

【问题讨论】:

    标签: c# linq group-by


    【解决方案1】:

    替换会更有效率:

    gdc => gdc.ToList()[0].groupID
    

    与:

    gdc => gdc.Key
    

    除此之外,看起来我会这样做的。

    或者,如果您对 LINQ 上的扩展方法没问题(我个人更喜欢它们),还可以进一步缩短:

    var t = data.GroupBy(data => data.groupID).ToDictionary(gdc => gdc.Key, gdc => gdc.ToList());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-03
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 2020-10-05
      • 2014-03-31
      • 2023-01-17
      • 2017-09-17
      相关资源
      最近更新 更多