Visual Basic에서 배열은 고정 길이 또는 가변 길이의 구조로 동일한 유형의 요소를 저장합니다. 동적 배열은 초기화 및 크기 변경 시 특히 주의가 필요합니다.
VB6에서는 고정 또는 가변 크기의 정적 및 동적 배열만 있었습니다. VB.NET에서는 유형 안전성과 함께 모든 유형의 1차원, 다차원 및 단계적 배열을 완벽하게 구현했습니다.
빈번한 오류는 다음과 같습니다 —
사용하기 전에 항상 배열을 초기화하고 조심스럽게 크기를 변경하십시오:
' 선언 Dim arr() As Integer ' 초기화 ReDim arr(4) ' 인덱스 0–4 arr(0) = 1 ' 값 보존을 통한 크기 변경 ReDim Preserve arr(6)
주요 특징:
배열을 선언했지만 초기화를 수행하지 않으면 어떻게 됩니까?
1차원 배열의 경우 Dim arr() As Integer 변수는 존재하지만 배열 자체는 할당되지 않아 arr.Length에 접근하면 예외가 발생합니다.
ReDim Preserve를 사용하여 다차원 배열의 두 축 모두의 크기를 변경할 수 있습니까?
아니요, ReDim Preserve는 마지막 차원만 크기를 변경할 수 있도록 허용되며, 그렇지 않으면 런타임 오류가 발생합니다.
ReDim Preserve를 통해 크기를 증가시키면 배열 요소에 어떤 일이 발생합니까?
이전 값은 보존되고 새로운 요소는 기본값(예: Integer의 경우 0, 참조 유형의 경우 Nothing)을 받습니다.
**부정적인 사례
배열이 선언되었지만 초기화되지 않았습니다(Dim arr() As Integer), 그리고 arr.Length에 접근하면 NullReferenceException을 받습니다.
장점:
단점:
**긍정적인 사례
배열은 항상 ReDim을 통해 명시적으로 초기화되며, 크기 변경은 기본 루프 외부에서만 수행되며, 자주 변경되는 목록에는 List(Of Integer)를 사용합니다.
장점:
단점: