C#List 将列表添加到字典中

Dictionary<string, List> SetPiese = new Dictionary<string, List>(); char[] litere = "ABCDEFGHIJLMNOPRSTUVXZ".ToCharArray(); for (int i = 1; i <= litere.Length; i++) { SetPiese.Add(litere[i], Set + litere[i]); } List SetA = GenerareSetLitere("A", 1, 11); List SetB = GenerareSetLitere("B", 9, 2); List SetC = GenerareSetLitere("C", 1, 5); ................................................ 

所以我有很多列表,我想将它们添加到字典中。 我怎么能这样做?

很简单,不要在单独的变量中声明它们。 以编程方式工作总是很痛苦。 如果你开始:

 List[] sets = new List[] { GenerareSetLitere("A", 1, 11), GenerareSetLitere("B", 9, 2), GenerareSetLitere("C", 1, 5) ... }; 

然后你可以使用:

 // Note loop condition change for (int i = 0; i < litere.Length; i++) { SetPiese.Add(litere[i], sets[i]); } 

或者甚至更好,如果literere实际上是一组你可以指定内联的表达式,你可以在集合初始化器中完成整个过程:

 Dictionary> SetPiese = new Dictionary> { { "first-key", GenerareSetLitere("A", 1, 11) }, { "second-key", GenerareSetLitere("B", 9, 2) } }; 

等等

我猜这有效:

 Dictionary> SetPiese = new Dictionary>(); List SetA = GenerareSetLitere("A", 1, 11); List SetB = GenerareSetLitere("B", 9, 2); List SetC = GenerareSetLitere("C", 1, 5); SetPiese.Add("A", SetA); SetPiese.Add("B", SetB); SetPiese.Add("C", SetC); 

我不确定,因为你没有提到你词典的关键。