2012-02-10 4 views
5

내가 같은 코드의 라인을 가지고 객체.목록의 배열을 만들 수 없습니다

Cannot implicitly convert type 'string' to 'System.Collections.Generic.List[]

나는 목록 객체 (실제로에만 this 실), 아마 때문에의 배열을 만드는 주제에 많이 찾을 수 없어 : 내 코드를 컴파일 할 때, 위의 라인이 오류가 발생합니다 검색 엔진은 대괄호를 검색하지 않습니다.

목록을 다른 목록에 넣으려면 다음과 같이 목록을 만드는 유일한 방법입니까? 어떤 제안에 대한

List<List<string>> apples = new List<List<string>>(); //I've tried this and it works as expected 

덕분에, 나는 코드의 첫 번째 줄 (목록 [예)가 작동하지 않는 이유에 정말 궁금 하군요.

+3

간단한 실수로, 괄호를 제거합니다. –

+0

고마워, 나는 그것을 생각하지 않았다는 것을 믿을 수 없다. –

+0

흥미 롭다면 오류 메시지가 왜 그렇게 형편 없는지 물어보십시오. –

답변

6

당신은이 작업을 수행 할 수 있습니다. 구문은 다음과 같습니다 이것은 단지 참조의 배열을 할당

List<string>[] apples = new List<string>[2]; 

하는 것으로 - 당신은 당신이 그들을 사용하기 전에 실제로 개별 목록 요소를 구성해야합니다 : 당신이 사용할 수있는 다른 방법

List<string>[] apples = new List<string>[2]; 
apples[0] = new List<string>(); 
apples[1] = new List<string>(); 

을 컬렉션 초기화 구문 (고정 요소의 작은 숫자에 대해 잘 작동) :

List<string>[] apples = new[] { new List<string>(), new List<string>() }; 
+0

고마워, 나는 'collection initialization syntax'에 대해 몰랐다. 어떻게 유용한 지 알 수 있었다. –

6

이 시도 :

List<string>[] apples = new List<string>[2]; 

당신은 이후에 각 목록의 초기화를 수행

apples[0] = new List<string>(); 
+0

고마워, 작동 해! –

3
 var listArray = new List<string>[2]; 
     for (var i = 0; i < listArray.Length; i++) 
     { 
      listArray[i] = new List<string>(); 
     } 
관련 문제