-6

假设我有一个这样的字符串:

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>)


多谢你们。

4

3 回答 3

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());

(untested)

于 2013-08-25T13:59:23.240 回答
0
var dict = test.Split(',')
               .Select(x=>x.Trim().Split(':'))
               .ToDictionary(k=>k[0],v=>new List<string>(){v[1],v[2]});
于 2013-08-25T13:58:56.773 回答
0

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

test.Split(',').Select(s => s.Split(':'))
    .ToDictionary(e => e.FirstOrDefault(), e => e.Skip(1).ToList());
于 2013-08-25T15:51:09.383 回答