다음을 통해 공유


방법: 배열 크기 변경

업데이트: 2007년 11월

배열 변수에 새 배열 개체를 할당하여 배열 변수의 크기를 조정할 수 있습니다. 표준 대입문이나 ReDim 문(Visual Basic)을 사용할 수 있습니다. 어느 방법을 사용하든 원래 배열은 완전히 새로운 배열로 바뀌고 배열 변수는 새 배열을 가리키게 됩니다.

배열의 크기를 조정하면 메모리를 효율적으로 관리할 수 있습니다. 예를 들어, 처음에는 작은 배열을 만들고 나중에 추가 요소가 필요할 때 배열 크기를 늘릴 수 있습니다. 또는 처음부터 큰 배열을 만들고 일부 요소가 더 이상 필요하지 않을 때 배열 크기를 줄일 수 있습니다. 이렇게 하면 필요한 경우에만 추가 메모리를 사용할 수 있습니다.

표준 대입문을 사용하여 배열 변수의 크기를 조정하려면

  1. 차원 길이를 새로 지정하여 새 배열 개체를 만듭니다.

  2. 배열 변수에 새 배열 개체를 할당합니다.

    Dim thisArrayVariable() As Integer = New Integer(99) {}
    thisArrayVariable = New Integer(49) {}
    

ReDim 문을 사용하여 배열 변수의 크기를 조정하려면

  • ReDim 문에서 배열 변수의 차원 길이를 새로 지정합니다.

    Dim thisArrayVariable() As Integer = New Integer(99) {}
    ReDim thisArrayVariable(9)
    

일반적으로 ReDim 문을 사용하여 배열을 선언하면 배열 요소의 기존 값은 잃게 됩니다. 그러나 ReDim 문에 Preserve 키워드를 포함시키면 이 값들을 보존할 수 있습니다.

기존 요소 값을 유지하면서 배열 변수의 크기를 조정하려면

  1. ReDim 문에서 배열 변수의 차원 길이를 새로 지정합니다.

  2. ReDim 문에 Preserve 키워드를 추가합니다. 다음 예제에서는 새 배열을 만들고, arrayToIncrease에 있는 기존 배열의 해당 요소로 새 배열 요소를 초기화하고, 새 배열을 배열 변수 arrayToIncrease에 할당합니다.

    Dim arrayToIncrease(9, 49)
    ReDim Preserve arrayToIncrease(9, 199)
    

다차원 배열에서 Preserve를 사용하면 마지막 차원 길이만 변경할 수 있습니다. 다른 차원의 길이를 변경하려고 하면 ArrayTypeMismatchException 예외가 발생합니다.

Preserve 키워드를 사용하여 큰 배열의 크기를 조정할 경우에는 Visual Basic에서 기존의 모든 요소를 새 배열로 복사해야 되므로 성능이 느려질 수 있습니다.

참고 항목

작업

방법: 배열 변수 선언

방법: 배열 만들기

방법: 배열 변수 초기화

방법: 배열 크기 확인

방법: 배열의 1차원 길이 확인

방법: 한 배열에 다른 배열 할당

방법: 다른 배열로 배열 변경

배열 문제 해결

개념

Visual Basic의 배열 크기

기타 리소스

Visual Basic의 배열