很简单,一开始就不要在单独的变量中声明它们。以编程方式处理这总是很痛苦。如果你从以下开始:
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) }
};
etc.