방법: Visual Basic에서 배열 변수 초기화

배열 리터럴을 사용하면 배열을 만들 때 배열에 초기 값을 채울 수 있습니다. New 절의 일부로 배열 리터럴을 포함하고 명시적으로 형식을 지정할 수 있습니다. 배열 요소의 형식을 지정하지 않으면 배열 리터럴의 값에서 형식이 유추됩니다. 형식 유추 방법에 대한 자세한 내용은 Visual Basic의 배열에서 "배열에 초기 값 채우기"를 참조하십시오.

배열 리터럴을 사용하여 배열 변수를 초기화하려면

  • New 절에서 또는 배열 값을 할당할 때 중괄호({}) 안에 요소 값을 제공합니다. 다음 예제에서는 Char 형식의 요소가 있는 배열을 포함하는 변수를 선언하고, 만들고, 초기화하는 여러 가지 방법을 보여 줍니다.

    ' The following three lines of code create the same array.
    Dim chars1() As Char = New Char(2) {"%"c, "&"c, "@"c}
    Dim chars2 = {"%"c, "&"c, "@"c}
    Dim chars3() As Char = {"%"c, "&"c, "@"c}
    

    이러한 문을 실행한 후 만들어지는 배열의 길이는 3이고, 인덱스 0부터 인덱스 2까지의 요소에 초기 값이 포함됩니다. 상한과 해당 값을 모두 지정할 경우에는 인덱스 0부터 상한까지의 모든 요소에 대한 값을 포함해야 합니다.

    배열 리터럴에 요소 값을 제공한 경우에는 인덱스 상한을 지정할 필요가 없습니다. 상한을 지정하지 않으면 배열 리터럴의 값 개수를 기반으로 배열의 크기가 유추됩니다.

배열 리터럴을 사용하여 다차원 배열 변수를 초기화하려면

  • 중괄호({}) 내의 중괄호 안에 값을 중첩합니다. 중첩된 배열 리터럴은 모두 동일한 형식과 길이의 배열로 유추됩니다. 다음 코드 예제에서는 다차원 배열을 초기화하는 몇 가지 예를 보여 줍니다.

    Dim ticTacToe = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}
    Dim customerData = {{"City Power & Light", "http://www.cpandl.com/"},
                        {"Wide World Importers", "http://wideworldimporters.com"},
                        {"Lucerne Publishing", "http://www.lucernepublishing.com"}}
    
    ' You can nest array literals to create arrays that have more than two 
    ' dimensions.
    Dim twoSidedCube = {{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}}
    
  • 명시적으로 배열 범위를 지정하거나, 그대로 두고 컴파일러에서 배열 리터럴의 값을 기반으로 배열 범위를 유추하게 할 수 있습니다. 상한과 해당 값을 모두 지정할 경우에는 모든 차원의 인덱스 0부터 상한까지의 모든 요소에 대한 값을 포함해야 합니다. 다음 예제에서는 Short 형식의 요소가 있는 2차원 배열을 포함하는 변수를 선언하고, 만들고, 초기화하는 여러 가지 방법을 보여 줍니다.

    ' The following three lines of code create the same array.
    Dim startingScores1(,) As Short = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}
    Dim startingScores2 = {{10S, 10S, 10S}, {10S, 10S, 10S}}
    Dim startingScores3(,) As Short = {{10, 10, 10}, {10, 10, 10}}
    

    이 문을 실행한 후 만들어지는 배열에는 인덱스가 각각 (0,0), (0,1), (0,2), (1,0), (1,1) 및 (1,2)인 6개의 초기화된 요소가 포함됩니다. 각 배열 위치에는 값 10이 포함됩니다.

배열 리터럴을 사용하여 가변 배열 변수를 초기화하려면

  • 중괄호({}) 안에 개체 값을 중첩합니다. 길이가 다른 배열을 지정하는 배열 리터럴을 중첩할 수도 있지만, 가변 배열의 경우 중첩된 배열 리터럴을 괄호(())로 묶어야 합니다. 괄호를 사용하면 중첩된 배열 리터럴이 강제로 계산되고, 결과 배열이 가변 배열의 초기 값으로 사용됩니다. 다음 코드 예제에서는 가변 배열을 초기화하는 두 가지 예를 보여 줍니다.

    ' Create a jagged array of arrays that have different lengths.
    Dim diagonal = {({0, 0, 0}), ({0, 0}), ({0})}
    
    ' Create a jagged array of Byte arrays.
    Dim images = {New Byte() {}, New Byte() {}, New Byte() {}}
    

참고 항목

작업

배열 문제 해결(Visual Basic)

개념

Visual Basic의 배열