【发布时间】:2013-11-15 22:30:26
【问题描述】:
我有以下形式的键/值对列表:
[{John:6},{Alex:100},{Peter:4},{Peter,John:5},{Alex,Kati:1}]
我想知道是否有一个简单的 linq 表达式可以用来将列表翻译成
[{John:11},{Alex:101},{Peter:9},{Kati:1}]
即用逗号分割字符串并调整计数。
以上列表来自以下 LINQ
var list = people.Where(a => !string.IsNullOrWhiteSpace(a.Name))
.GroupBy(a => a.Name.Trim()).Select(a => new User { Name = a.Key, Items= a.Count() });
【问题讨论】:
-
John: 6或John:11 -
是的,John:11 已解决问题
-
第一个列表似乎不是您拥有的 linq 的输出。您的 linq 的输出将是 {Name = "John", Items = 6} 等的可枚举列表,而不是 {John:6}。你的意思是你有第一个字符串格式的列表,你想解析它并生成第二个列表作为输出字符串?
-
Person.Name属性是否包含名称列表或为什么键中有逗号? -
@ShitalShah 是的,名称/计数我试图简化以达到重点。为了更持久,我有 IEnumberable
用户有两个字段名称和计数。