You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC Core中如何合并字符串列表的重复键对应值

合并重复键对应的多值为逗号分隔项

可以通过LINQ的分组功能实现需求,具体步骤和代码如下:

  1. 将每个字符串拆分为键和值
  2. 按键分组,归集同一键下的所有值
  3. 将每组的值用逗号拼接,再与键组合成新的字符串

代码实现

// 原始字符串列表
List<string> stringList = surveylist.Split('&').ToList();

// 处理重复键,合并对应值
var mergedList = stringList
    .Select(item => 
    {
        var parts = item.Split('=');
        // 简单校验格式,避免无效项引发异常
        return parts.Length == 2 ? 
            new { Key = parts[0], Value = parts[1] } : 
            new { Key = item, Value = string.Empty };
    })
    .GroupBy(x => x.Key)
    .Select(g => $"{g.Key}={string.Join(",", g.Select(x => x.Value))}")
    .ToList();

代码说明

  • 拆分键值:用Split('=')拆分每个项,同时做格式校验,兼容可能的无效输入
  • 分组归集:GroupBy(x => x.Key)把相同键的项归为一组
  • 合并值:string.Join(",", g.Select(x => x.Value))将同一组的所有值用逗号连接,再与键组合成最终字符串

执行后,mergedList会生成你期望的结果:

7=55
6=33
5=MCC
4=GHI
3=ABC
1003=DEF,ABC
1=JKL

内容的提问来源于stack exchange,提问作者Zahid Lateef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 00:42:00