2013-02-04 5 views
-2
 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); 
     ................................................ 

그래서 많은 목록이 있으며 사전에 추가하려고합니다. 어떻게해야할까요?C# List <> 사전에 목록 추가

답변

6

간단히 말해서 별개의 변수로 선언하지 마십시오. 프로그래밍 방식으로 작업하는 것은 항상 고통 스러울 것입니다. 당신이 시작하려는 경우 : 다음

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가 인라인 지정할 수 있습니다 표현의 무리가 실제로 있다면, 당신이 모든 일을 할 수 컬렉션 이니셜 라이저 : 내가 더 후 3 리이있는 경우

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

+0

감사! 그것은 작동합니다. – TGeorge

+0

@AppDeveloper : 관련없는 질문이나 답변에 의견을 추가하지 마십시오. –

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

잘 모르겠어요.

+0

그래 그것은 작품입니다 만 sts? 할 수 없어 ... SetPiese.Add ("ABCDE..XYZ", Set [ABCDEF ... XYZ]); 26 times :) @ 존 Skeet있어 :) 감사. – TGeorge