방법: Visual Basic에서 배열 변수 초기화How to: Initialize an Array Variable in Visual Basic

배열 리터럴을 New 절에 포함 하 고 배열의 초기 값을 지정 하 여 배열 변수를 초기화 합니다.You initialize an array variable by including an array literal in a New clause and specifying the initial values of the array. 형식을 지정 하거나 배열 리터럴의 값에서 유추 되도록 허용할 수 있습니다.You can either specify the type or allow it to be inferred from the values in the array literal. 형식을 유추 하는 방법에 대 한 자세한 내용은 배열의"초기 값으로 배열 채우기"를 참조 하십시오.For more information about how the type is inferred, see "Populating an Array with Initial Values" in Arrays.

배열 리터럴을 사용 하 여 배열 변수를 초기화 하려면To initialize an array variable by using an array literal

  • New 절에서 또는 배열 값을 할당 하는 경우 요소 값을 중괄호 ({}) 안에 제공 합니다.Either in the New clause, or when you assign the array value, supply the element values inside braces ({}). 다음 예제에서는 Char형식의 요소가 포함 된 배열을 포함 하는 변수를 선언 하 고, 만들고, 초기화 하는 여러 가지 방법을 보여 줍니다.The following example shows several ways to declare, create, and initialize a variable to contain an array that has elements of type Char.

    ' The following five lines of code create the same array.
    ' Preferred syntaxes are on the lines with chars1 and chars2.
    Dim chars1 = {"%"c, "&"c, "@"c}
    Dim chars2 As Char() = {"%"c, "&"c, "@"c}
    
    Dim chars3() As Char = {"%"c, "&"c, "@"c}
    Dim chars4 As Char() = New Char(2) {"%"c, "&"c, "@"c}
    Dim chars5() As Char = New Char(2) {"%"c, "&"c, "@"c}
    

    각 문이 실행 된 후 생성 된 배열의 길이는 3이 고 인덱스 0부터 인덱스 2 까지의 요소는 초기 값을 포함 합니다.After each statement executes, the array that's created has a length of 3, with elements at index 0 through index 2 containing the initial values. 상한과 값을 모두 제공 하는 경우 인덱스 0부터 상한 까지의 모든 요소에 대 한 값을 포함 해야 합니다.If you supply both the upper bound and the values, you must include a value for every element from index 0 through the upper bound.

    배열 리터럴에 요소 값을 제공 하는 경우에는 인덱스 상한을 지정할 필요가 없습니다.Notice that you do not have to specify the index upper bound if you supply element values in an array literal. 상한을 지정 하지 않으면 배열 리터럴의 값 수를 기반으로 배열의 크기가 유추 됩니다.If no upper bound is specified, the size of the array is inferred based on the number of values in the array literal.

배열 리터럴을 사용 하 여 다차원 배열 변수를 초기화 하려면To initialize a multidimensional array variable by using array literals

  • 중괄호 내의 중괄호 ({}) 안에 값을 중첩 합니다.Nest values inside braces ({}) within braces. 중첩 된 배열 리터럴이 모두 동일한 형식 및 길이의 배열로 유추 되는지 확인 합니다.Ensure that the nested array literals all infer as arrays of the same type and length. 다음 코드 예제에서는 다차원 배열 초기화의 몇 가지 예를 보여 줍니다.The following code example shows several examples of multidimensional array initialization.

    Dim numbers = {{1, 2}, {3, 4}, {5, 6}}
    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}}}
    
  • 배열 범위를 명시적으로 지정 하거나, 그대로 두고, 컴파일러가 배열 리터럴의 값을 기준으로 배열 범위를 유추 하도록 할 수 있습니다.You can explicitly specify the array bounds, or leave them out and have the compiler infer the array bounds based on the values in the array literal. 상한 및 값을 모두 제공 하는 경우 인덱스 0부터 모든 차원의 상한 사이의 모든 요소에 대 한 값을 포함 해야 합니다.If you supply both the upper bounds and the values, you must include a value for every element from index 0 through the upper bound in every dimension. 다음 예제에서는 형식의 요소가 있는 2 차원 배열을 포함 하는 변수를 선언 하 고, 만들고, 초기화 하는 여러 가지 방법을 보여 줍니다 ShortThe following example shows several ways to declare, create, and initialize a variable to contain a two-dimensional array that has elements of type Short

    ' The following five lines of code create the same array.
    ' Preferred syntaxes are on the lines with scores1 and scores2.
    Dim scores1 = {{10S, 10S, 10S}, {10S, 10S, 10S}}
    Dim scores2 As Short(,) = {{10, 10, 10}, {10, 10, 10}}
    
    Dim scores3(,) As Short = {{10, 10, 10}, {10, 10, 10}}
    Dim scores4 As Short(,) = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}
    Dim scores5(,) As Short = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}
    

    각 문이 실행 된 후 생성 된 배열에는 (0,0), (0,1), (0,2), (1,0), (1,1)(1,2)인덱스를 포함 하는 6 개의 초기화 된 요소가 포함 됩니다.After each statement executes, the created array contains six initialized elements that have indexes (0,0), (0,1), (0,2), (1,0), (1,1), and (1,2). 각 배열 위치는 10값을 포함 합니다.Each array location contains the value 10.

  • 다음 예제에서는 다차원 배열을 반복 합니다.The following example iterates through a multidimensional array. Visual Basic으로 작성 된 Windows 콘솔 응용 프로그램에서 Sub Main() 메서드 내에 코드를 붙여 넣습니다.In a Windows console application that is written in Visual Basic, paste the code inside the Sub Main() method. 마지막 주석은 출력을 보여 줍니다.The last comments show the output.

    Dim numbers = {{1, 2}, {3, 4}, {5, 6}}
    
    ' Iterate through the array.
    For index0 = 0 To numbers.GetUpperBound(0)
        For index1 = 0 To numbers.GetUpperBound(1)
            Debug.Write(numbers(index0, index1).ToString & " ")
        Next
        Debug.WriteLine("")
    Next
    ' Output
    '  1 2
    '  3 4
    '  5 6
    

배열 리터럴을 사용 하 여 가변 배열 변수를 초기화 하려면To initialize a jagged array variable by using array literals

  • 개체 값을 중괄호 ({}) 안에 중첩 합니다.Nest object values inside braces ({}). 가변 배열의 경우에는 길이가 다른 배열을 지정 하는 배열 리터럴을 중첩할 수도 있지만 중첩 된 배열 리터럴이 괄호 (())로 묶여 있는지 확인 합니다.Although you can also nest array literals that specify arrays of different lengths, in the case of a jagged array, make sure that the nested array literals are enclosed in parentheses (()). 괄호는 중첩 된 배열 리터럴을 강제로 계산 하 고 결과 배열은 가변 배열의 초기 값으로 사용 됩니다.The parentheses force the evaluation of the nested array literals, and the resulting arrays are used as the initial values of the jagged array. 다음 코드 예제에서는 가변 배열 초기화의 두 가지 예를 보여 줍니다.The following code example shows two examples of jagged array initialization.

    ' Create a jagged array of arrays that have different lengths.
    Dim jaggedNumbers = {({1, 2, 3}), ({4, 5}), ({6}), ({7})}
    
    ' Create a jagged array of Byte arrays.
    Dim images = {New Byte() {}, New Byte() {}, New Byte() {}}
    
  • 다음 예제에서는 가변 배열을 반복 합니다.The following example iterates through a jagged array. Visual Basic으로 작성 된 Windows 콘솔 응용 프로그램에서 Sub Main() 메서드 내에 코드를 붙여 넣습니다.In a Windows console application that is written in Visual Basic, paste the code inside the Sub Main() method. 코드의 마지막 주석은 출력을 보여 줍니다.The last comments in the code show the output.

    ' Create a jagged array of arrays that have different lengths.
    Dim jaggedNumbers = {({1, 2, 3}), ({4, 5}), ({6}), ({7})}
    
    For indexA = 0 To jaggedNumbers.Length - 1
        For indexB = 0 To jaggedNumbers(indexA).Length - 1
            Debug.Write(jaggedNumbers(indexA)(indexB) & " ")
        Next
        Debug.WriteLine("")
    Next
    
    ' Output:
    '  1 2 3 
    '  4 5 
    '  6
    '  7
    

참고자료See also