C# 如何将Dictionary中键含UPC的所有值合并为新的UPC键值对
实现方案
你可以直接遍历筛选得到的newDictJustUPCs集合完成值拼接,以下是两种常用实现方式:
方式1:使用已声明的StringBuilder拼接
// 遍历匹配到的UPC键值对,用逗号分隔拼接值,可根据需求更换分隔符 foreach (var kvp in newDictJustUPCs) { if (sbUPC.Length > 0) { sbUPC.Append(", "); } sbUPC.Append(kvp.Value); } string CombinedUPCValues = sbUPC.ToString(); // 【可选操作】如果不需要保留原有的UPC前缀键,可添加下面代码删除旧条目 foreach (var upcKey in newDictJustUPCs.Select(item => item.Key).ToList()) { newDict.Remove(upcKey); } // 添加合并后的UPC键值对 newDict.Add("UPC", CombinedUPCValues);
方式2:使用LINQ简化拼接(无需额外循环代码)
// 直接通过string.Join批量拼接所有UPC值 string CombinedUPCValues = string.Join(", ", newDictJustUPCs.Select(kvp => kvp.Value)); // 【可选操作】删除原有UPC前缀键的代码同上 foreach (var upcKey in newDictJustUPCs.Select(item => item.Key).ToList()) { newDict.Remove(upcKey); } newDict.Add("UPC", CombinedUPCValues);
补充说明
如果需要过滤掉空的UPC值,可以在筛选集合时增加条件:
var newDictJustUPCs = newDict.Where(kvp => kvp.Key.Contains("UPC") && !string.IsNullOrWhiteSpace(kvp.Value));
内容的提问来源于stack exchange,提问作者BrewUpCode
相关产品推荐
相关产品推荐

