hey*_*Now 1 c# linq lambda igrouping linq-group
我有一个对象列表 list1
Name Value
N1 V100
N2 V101
N1 V102
N4 V103
N4 V104
Run Code Online (Sandbox Code Playgroud)
我想将其转换为分组列表
Name Values
N1 V100, V102
N2 V101
N4 V103, V104
Run Code Online (Sandbox Code Playgroud)
当我使用时,GroupBy
我得到了整个东西,( list1.GroupBy(key => key.Name) )
Name Values
N1
N1 V100
N1 V102
N2
N2 V101
N4
N4 V103
N4 V104
Run Code Online (Sandbox Code Playgroud)
我只想将值作为List.
之后GroupBy
,使用ToDictionary
:
source.GroupBy(x => x.Name)
.ToDictionary(x => x.Key, x => x.Select(e => e.Value).ToList());
Run Code Online (Sandbox Code Playgroud)
这产生了Dictionary<string, List<string>>
键是名称的位置,值是由将每个元素投影到string
该特定组下的组成的列表.
我认为这Value
只是一个string
例子,但实际上,解决方案保持不变并不重要.