我有一个看起来像这样的字符串列表:
abc|key1|486997
def|key1|488979
ghi|key2|998788
gkl|key2|998778
olz|key1|045669
如何使用 LINQ 和 ToDictionary 生成一个Dictionary<string, List<string>>
看起来像
key1 : { abc|key1|486997, def|key1|488979, olz|key1|045669 }
key2 : { ghi|key2|998788, gkl|key2|998778 }
基本上,我希望能够提取第二个元素作为键,使用 ToDictionary() 在一轮中创建字典。
我目前正在这样做..
var d = new Dictionary<string, List<string>>();
foreach(var l in values)
{
var b = l.Split('|');
var k = b.ElementAtOrDefault(1);
if (!d.ContainsKey(k))
d.Add(k, new List<string>());
d[k].Add(l);
}
我已经看到有关从单个分隔值字符串构建字典的问题,但我想知道是否有一种优雅的方法可以从分隔字符串列表开始。