加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用linq获取分组的逗号分隔值

发布时间:2020-12-15 08:23:56 所属栏目:百科 来源:网络整理
导读:我想第三列“项目”与分组的值. Dictionarystring,int dic = new Dictionarystring,int();dic.Add("a",1);dic.Add("b",1);dic.Add("c",2);dic.Add("d",3);var dCounts = (from i in dic group i by i.Value into g select new { g.Key,count = g.Count()});
我想第三列“项目”与分组的值.
Dictionary<string,int> dic = new Dictionary<string,int>();
dic.Add("a",1);
dic.Add("b",1);
dic.Add("c",2);
dic.Add("d",3);

var dCounts =
    (from i in dic
    group i by i.Value into g
    select new { g.Key,count = g.Count()});

    var a = dCounts.Where(c => c.count>1 );

dCounts.Dump();
a.Dump();

此代码导致:

Key Count
1   2
2   1
3   1

我想要这些结果:

Key Count Items
1   2     a,b
2   1     c
3   1     d

解决方法

var dCounts =
        (from i in dic
            group i by i.Value into g
            select new { g.Key,count = g.Count(),Items = string.Join(",",g.Select(kvp => kvp.Key)) });

使用string.Join(“,”,{array}),传入您的数组键.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读