[英]C# List<> Add lists to dictionary
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);
................................................
所以我有很多列表,我想將它們添加到字典中。 我該怎么做呢?
很簡單,不要在單獨的變量中聲明它們。 以編程方式進行工作始終是一件痛苦的事情。 如果您開始使用:
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) }
};
等等
我猜這可行:
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);
我不確定,因為您沒有提到字典的鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.