C#如何组合具有相同名称的名称值对列表中的值? [复制]
Posted
技术标签:
【中文标题】C#如何组合具有相同名称的名称值对列表中的值? [复制]【英文标题】:C# How do I combine values in a list of name value pairs that have the same name? [duplicate] 【发布时间】:2019-06-25 11:58:22 【问题描述】:我有一个包含名称/值对的列表
类看起来像这样:
string Name get; set;
string Value get; set;
我需要做的是将所有具有相同名称的值连接到一个新列表中,其中类如下所示:
string Name get; set;
list<string> Values get; set;
【问题讨论】:
你可能想看看这个:ToLookup().var combined = nvpList.GroupBy(nvp => nvp.Name).Select(group => new NameValueClass Name = group.Key, Values = group.SelectMany(nvp => nvp.Values).Distinct().ToList());
鲁弗斯,你拯救了这一天。这正是我想要的。谢谢!
【参考方案1】:
你可以使用LINQGroupBy
方法:
var result = yourList.GroupBy(x => x.Name, x => x.Value,
(k, g) => new YouSecondClass Name = key, Values = g.ToList() );
【讨论】:
以上是关于C#如何组合具有相同名称的名称值对列表中的值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
C#如何将变量用作键值字符串数组的对象列表对象构造函数中的属性名称