说我有这样的字符串:
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>
)
谢谢你们。
答案 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());