-1
        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);
        ................................................

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

4

2 回答 2

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

等等

于 2013-02-04T21:07:02.430 回答
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);

我不确定,因为您没有提到字典的键。

于 2013-02-04T21:06:37.400 回答