【问题标题】:Filtering and combining data in an array过滤和组合数组中的数据
【发布时间】:2020-11-03 16:42:12
【问题描述】:

我有一个数组:

{"Items":[
{"folder":"Test","number":"11"},
{"folder":"Test","number":"10"},
{"folder":"Test1","number":"130"},
{"folder":"Test1","number":"100"},
{"folder":"Test2","number":""},
{"folder":"Test2","number":"200"}
]}

告诉我我需要使 文件夹 是唯一的,并将其值写在 number 中,用逗号分隔?

{"Items":[
{"folder":"Test","number":"11, 10"},
{"folder":"Test1","number":"130, 100"},
{"folder":"Test2","number":"200"}
]}

【问题讨论】:

    标签: c# arrays linq


    【解决方案1】:

    您可以使用GroupBy 按文件夹分组,使用String.Join() 连接数字,例如:

    var result = Items
        .GroupBy(x => x.folder)
        .Select(x => new 
        {
            folder = x.Key,
            number = string.Join(",", x.Select(y => y.number).Where(z => !string.IsNullOrEmpty(z)))
        }).ToList();
    

    在 dotnetfiddle 中测试:https://dotnetfiddle.net/FDvSmc

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 2017-09-10
      • 2021-10-07
      • 2022-10-07
      • 1970-01-01
      • 1970-01-01
      • 2020-02-12
      • 2013-10-08
      • 2019-05-29
      相关资源
      最近更新 更多