Dictionary<string, List<Piese>> SetPiese = new Dictionary<string, List<Piese>>();
char[] litere = "ABCDEFGHIJLMNOPRSTUVXZ".ToCharArray();
for (int i = 1; i <= litere.Length; i++) {
SetPiese.Add(litere[i], Set + litere[i]);
}
List<Piese> SetA = GenerareSetLitere("A", 1, 11);
List<Piese> SetB = GenerareSetLitere("B", 9, 2);
List<Piese> SetC = GenerareSetLitere("C", 1, 5);
................................................
所以我有很多列表,我想将它们添加到字典中。我怎么能这样做?
答案 0 :(得分:7)
很简单,不要在单独的变量中声明它们。以编程方式工作总是很痛苦。如果您开始使用:
List<Piese>[] sets = new List<Piese>[]
{
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<string, List<Piese>> SetPiese = new Dictionary<string, List<Piese>>
{
{ "first-key", GenerareSetLitere("A", 1, 11) },
{ "second-key", GenerareSetLitere("B", 9, 2) }
};
等
答案 1 :(得分:2)
我猜这有效:
Dictionary<string, List<Piese>> SetPiese = new Dictionary<string, List<Piese>>();
List<Piese> SetA = GenerareSetLitere("A", 1, 11);
List<Piese> SetB = GenerareSetLitere("B", 9, 2);
List<Piese> SetC = GenerareSetLitere("C", 1, 5);
SetPiese.Add("A", SetA);
SetPiese.Add("B", SetB);
SetPiese.Add("C", SetC);
我不确定,因为你没有提到词典的关键词。