2013-07-31 2 views
0

온라인을 읽으면서 필자는 목록을 사용하는 등 동적 배열을 해결하는 데 대한 대부분의 해답을 보았습니다. 나는 다차원 배열에서리스트 연산을 수행하는 방법을 조금 혼란스럽게 생각한다. 아래 코드와 같은 코드를 구현하는 방법을 이해할 수 있다면 더 잘 이해할 수있을 것입니다.동적 다차원 배열 (리스트?)

public void class Class1(){ 
    string[,] array; 

    public void ArrFunction() 
    { 
     array=new string[rand1,rand2]; 
     int rand1=SomeRandNum; 
     int rand2=SomeRandNum2; 
     for(int i=0; i<rand1; i++){ 
      for(int j=0; j<rand2; j++){ 
       array[i][j]=i*j; 
      } 
     } 
    } 
+0

"가변"이란 "가변 크기"를 의미합니까? 어떤 목록 작업을 구체적으로 사용 하시겠습니까? –

+0

예, 제가 사용하는 유일한 목록 작업은 추가 될 것입니다. – user1819301

답변

0

귀하의 방법은 잘 작동,하지만 당신이 선언을 사용하기 전에 rand1rand2 변수를 초기화해야하고, 올바르게 배열에 액세스 :

public void ArrFunction() 
{ 
    int rand1=SomeRandNum; 
    int rand2=SomeRandNum2; 
    array=new string[rand1,rand2]; // Don't use these until they're set 
    for(int i=0; i<rand1; i++){ 
     for(int j=0; j<rand2; j++){ 
      array[i, j]=i*j; // Use [i, j], not [i][j] 
     } 
    } 
} 

또한, 당신은 초기화 할 수 없습니다 배열에 문자열 :

// This gets initialized in your method 
string[,] array; // =""; 
+0

'array [i] [j]'는 2 차원 배열이기 때문에 작동하지 않는다는 것에주의하십시오. 그것은'array [i, j]'일 필요가있다. – Jashaszun

+0

@Jashaszun 이미 수정되었습니다. –

+0

댓글을 작성할 때 수정되지 않았습니다. :) – Jashaszun