C#string to Dictionary <string,list <string =“”>&gt;使用LINQ </string,>

时间:2013-08-25 13:53:51

标签: c# string linq dictionary

说我有这样的字符串:

string test = "A1:B1:C1, A2:B2:C2, A3:B3:C3"

如何使用LINQ将其拆分并存储在Dictionary<string, List<string>>

如下:

键:A1(string
值:B1和C1(List<string>

键:A2(string
值:B2和C2(List<string>

关键:A3(string
值:B3和C3(List<string>


谢谢你们。

3 个答案:

答案 0 :(得分:3)

(from entry in test.Split(',')
 from item in entry.Split(':')
 select item).ToDictionary(i => i[0], i => new string[] { i[1], i[2] }.ToList());

(未测试的)

答案 1 :(得分:0)

var dict = test.Split(',')
               .Select(x=>x.Trim().Split(':'))
               .ToDictionary(k=>k[0],v=>new List<string>(){v[1],v[2]});

答案 2 :(得分:0)

这也可以处理多于或少于3个项目。

test.Split(',').Select(s => s.Split(':'))
    .ToDictionary(e => e.FirstOrDefault(), e => e.Skip(1).ToList());