방법: 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}
    

    각 문을 실행 한 후 만들어지는 배열의 길이는 2 초기 값이 포함 된 인덱스를 인덱스 0에 있는 요소를 사용 하 여 3에 있습니다.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}}
    

    만들어진된 배열 인덱스가 있는 6 개의 초기화 된 요소가 포함 각 문을 실행 한 후 (0,0), (0,1), (0,2), (1,0)(1,1), 및 (1,2)합니다.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