2009-10-17 3 views
3

나는이 초기화 어떻게 : 내가 int[,,] Map을 만들지 않으초기화 INT [] [] C#으로

public const int[][,] Map = { 
    { // Map 1 
     {1, 1, 1, 1}, 
     {1, 1, 1, 1}, 
     {1, 1, 1, 1}, 
     {1, 1, 1, 1}, 
    }, 
    { // Map 2 
     {1, 1, 1, 1}, 
     {1, 0, 0, 1}, 
     {1, 0, 0, 1}, 
     {1, 1, 1, 1}, 
    }, 
    // etc. 
}; 

:

public const int[][,] Map = ... 

내가 같은 것을 할 싶습니다

loader.Load(Map[map_numer]); // Load method recieve an int[,] 
+3

을 참고 : 다른 곳에 있기 때문에 내가하고 싶은 " const "는"컴파일 타임에 결정된 숫자 또는 문자열 "을 의미합니다. "readonly"은 "이 필드가 한 번 초기화 된 다음 변경되지 않습니다"를 의미합니다. 배열을 포함하는 읽기 전용 필드 인 FIELD는 다른 배열을 참조하도록 변경할 수 없지만 배열 요소는 변경할 수 있습니다. 배열 요소를 변경하지 않으려면 ReadOnlyCollection과 같은 다른 데이터 구조를 사용하는 것이 좋습니다. –

답변

9
int[][,] a = new int[][,] 
{ 
    new int[,] 
    { 
     {1, 1, 1, 1}, 
     {1, 1, 1, 1}, 
     {1, 1, 1, 1}, 
     {1, 1, 1, 1}, 

    }, 
    new int[,] 
    { 
     {1, 1, 1, 1}, 
     {1, 0, 0, 1}, 
     {1, 0, 0, 1}, 
     {1, 1, 1, 1}, 
    } 
}; 
+0

감사합니다. 그것은 작동하지만'Map'은'const' 일 수 없습니다. ('Map'이'const' 인 경우 컴파일러가 오류를 던집니다. –

+2

) readonly 키워드를 사용하려고 시도 할 수도 있습니다. – Overdose

+0

'readonly'. C# 그리고 나는'readonly' 키워드를 본 적이 없으며, 다음 번에 이것을 기억해야합니다. –