방법: Visual Basic에서 배열 변수 초기화
배열 리터럴을 사용 하 여 만들 때 배열에 초기 값을 채울 수 있습니다.배열 리터럴을의 일부로 포함할 수 있습니다의 New 절과 형식을 지정 하거나 배열 리터럴의 값에서 유추 될 수 있도록 합니다."채우기는 배열에 초기 값"의 형식 유추 하는 방법에 대 한 자세한 내용은 참조 하십시오. Visual Basic의 배열.
배열 리터럴을 사용하여 배열 변수를 초기화하려면
New 절에서 또는 배열 값을 할당할 때 중괄호({}) 안에 요소 값을 제공합니다.다음 예제에서는 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}
각 문을 실행 한 후 만들어지는 배열 요소에 인덱스 0부터 인덱스의 초기 값을 포함 하는 2, 3의 길이 있습니다.상한과 해당 값을 모두 지정할 경우에는 인덱스 0부터 상한까지의 모든 요소에 대한 값을 포함해야 합니다.
배열 리터럴에 요소 값을 제공한 경우에는 인덱스 상한을 지정할 필요가 없습니다.상한을 지정하지 않으면 배열 리터럴의 값 개수를 기반으로 배열의 크기가 유추됩니다.
배열 리터럴을 사용하여 다차원 배열 변수를 초기화하려면
중괄호({}) 내의 중괄호 안에 값을 중첩합니다.중첩된 배열 리터럴은 모두 동일한 형식과 길이의 배열로 유추됩니다.다음 코드 예제에서는 다차원 배열을 초기화하는 몇 가지 예를 보여 줍니다.
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}}}
명시적으로 배열 범위를 지정하거나, 그대로 두고 컴파일러에서 배열 리터럴의 값을 기반으로 배열 범위를 유추하게 할 수 있습니다.상한과 해당 값을 모두 지정할 경우에는 모든 차원의 인덱스 0부터 상한까지의 모든 요소에 대한 값을 포함해야 합니다.다음 예제에서는 Short 형식의 요소가 있는 2차원 배열을 포함하는 변수를 선언하고, 만들고, 초기화하는 여러 가지 방법을 보여 줍니다.
' 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).각 배열 위치에는 값 10이 포함됩니다.
다음 예제에서는 다차원 배열을 통해 반복합니다.에 Visual Basic Console Application, 내부 코드를 붙여의 Sub Main() 메서드.마지막 메모 출력을 보여 줍니다.
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
배열 리터럴을 사용하여 가변 배열 변수를 초기화하려면
중괄호({}) 안에 개체 값을 중첩합니다.길이가 다른 배열을 지정하는 배열 리터럴을 중첩할 수도 있지만, 가변 배열의 경우 중첩된 배열 리터럴을 괄호(())로 묶어야 합니다.괄호를 사용하면 중첩된 배열 리터럴이 강제로 계산되고, 결과 배열이 가변 배열의 초기 값으로 사용됩니다.다음 코드 예제에서는 가변 배열을 초기화하는 두 가지 예를 보여 줍니다.
' 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() {}}
다음 예제에서는 가변된 배열을 통해 반복합니다.안에 코드를 붙여넣은 Sub Main()메서드에서 Visual Basic Console Application.코드의 주석을 출력 될 내용을 나타냅니다.
' 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