- •Переменные и массивы в языке visual basic .Net
- •Локальные переменные и переменные-члены
- •Переменные экземпляров и общие переменные
- •Сохранение значений в массиве
- •Заполнение массива начальными значениями
- •Вложенные литералы массива
- •Перебор массива
- •Массивы как возвращаемые значения и параметры
- •Массивы массивов
- •Массивы нулевой длины
- •Размер массива
- •Типы массива и другие типы
- •Коллекции как альтернатива массивам
Перебор массива
При репликации по массиву, вы получаете доступ к каждому элементу массива от наименьшего индекса к наибольшему индексу.
Следующий пример выполняет перебор одномерного массива с помощью оператора Оператор For... Next (Visual Basic). Для каждого измерения массива метод GetUpperBound возвращает максимально допустимое значение индекса. Наименьшее значение индекса всегда равно 0.
VB
Dim numbers = {10, 20, 30}
For index = 0 To numbers.GetUpperBound(0)
Debug.WriteLine(numbers(index))
Next
' Output:
' 10
' 20
' 30
Следующий
пример выполняет перебор многомерного
массива с помощью
оператора For...Next. Метод GetUpperBound имеет
параметр, который определяет
измерение. GetUpperBound(0) возвращает
высокое значение индекса для первого
измерения, а GetUpperBound(1) возвращает
высокое значение индекса для второго
измерения.
VB
Dim numbers = {{1, 2}, {3, 4}, {5, 6}}
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
Следующий пример выполняет перебор одномерного массива с помощью оператора Оператор For Each... Next (Visual Basic).
VB
Dim numbers = {10, 20, 30}
For Each number In numbers
Debug.WriteLine(number)
Next
' Output:
' 10
' 20
' 30
Следующий пример выполняет перебор многомерного массива с помощью оператора For Each...Next. Однако возможности управления элементами многомерного массива будут шире при использовании вложенного оператора For…Next, как показано в предыдущем примере, вместо оператора For Each…Next.
VB
Dim numbers = {{1, 2}, {3, 4}, {5, 6}}
For Each number In numbers
Debug.WriteLine(number)
Next
' Output:
Массивы как возвращаемые значения и параметры
Чтобы вернуть массив из процедуры Function, укажите тип данных массива и число измерений в качестве возвращаемого типа Оператор Function (Visual Basic).Внутри функции объявите локальную переменную массива с тем же числом измерений и типом данных. В Оператор Return (Visual Basic) включите локальную переменную массива без скобок.
Чтобы определить массив в качестве параметра в процедуре Sub или Function, задайте параметр как массив с указанными типом данных и количеством измерений.В вызове процедуры отправьте переменную массива с тем же типом данных и количеством измерений.
В
следующем примере
функция GetNumbers возвращает Integer(). Этот
тип массива — одномерный массив
типа Integer. Процедура ShowNumbers принимает
аргумент Integer().
VB
Public Sub Process()
Dim numbers As Integer() = GetNumbers()
ShowNumbers(numbers)
End Sub
Private Function GetNumbers() As Integer()
Dim numbers As Integer() = {10, 20, 30}
Return numbers
End Function
Private Sub ShowNumbers(numbers As Integer())
For index = 0 To numbers.GetUpperBound(0)
Debug.WriteLine(numbers(index) & " ")
Next
End Sub
' Output:
В
следующем примере
функция GetNumbersMultiDim возвращает Integer(,). Этот
тип массива — одномерный массив
типа Integer. ПроцедураShowNumbersMultiDim принимает
аргумент Integer(,).
VB
Public Sub ProcessMultidim()
Dim numbers As Integer(,) = GetNumbersMultidim()
ShowNumbersMultidim(numbers)
End Sub
Private Function GetNumbersMultidim() As Integer(,)
Dim numbers As Integer(,) = {{1, 2}, {3, 4}, {5, 6}}
Return numbers
End Function
Private Sub ShowNumbersMultidim(numbers As Integer(,))
For index0 = 0 To numbers.GetUpperBound(0)
For index1 = 0 To numbers.GetUpperBound(1)
Debug.Write(numbers(index0, index1).ToString & " ")
Next
Debug.WriteLine("")
Next
End Sub
' Output
