Что такое массив?
Массив - это структура данных, используемая для хранения элементов одного типа данных. Элементы упорядочиваются последовательно, первый элемент имеет индекс 0, а последний элемент - индекс n-1, где n - общее количество элементов в массиве.
В этом руководстве вы узнаете:
- Что такое массив?
- Как объявить и инициализировать массив
- Массивы фиксированного размера
- Динамические массивы
- Получение содержимого массива
- Добавление новых элементов в массив
- Стирание массива
- Функция разделения
- Функция соединения
Как объявить и инициализировать массив
В VB.NET массивы объявляются с помощью оператора Dim. Например:
Dim myData() As Integer
В приведенном выше примере мы определили массив с именем myData, и он должен содержать элементы целочисленного типа данных. В следующем примере показано, как мы можем объявить массив для хранения строковых элементов:
Dim myData(10) As String
Мы определили массив с именем myData для хранения 10 строк.
Мы можем инициализировать массивы во время их объявления. Например:
Dim myData() As Integer = {11, 12, 22, 7, 47, 32}
Мы объявили массив myData и добавили в него 6 целочисленных элементов. Это также можно сделать для строк:
Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}
Мы создали массив с именем student и добавили к нему 5 имен.
Массивы фиксированного размера
Массив фиксированного размера содержит фиксированное количество элементов. Это означает, что вы должны определить количество элементов, которые он будет содержать во время своего определения. Предположим, вам нужен массив для хранения только трех имен учащихся. Вы можете определить и инициализировать массив следующим образом:
Dim students(0 to 2) As Stringstudents(0) = "John"students (1) = "Alice"students (2) = "Antony"
Мы начали с объявления массива строк с именем student. От 0 до 2 объявляет, что в массиве будут храниться элементы от индекса 0 до индекса 2, что означает, что всего у нас будет 3 элемента.
Чтобы добавить элементы в массив, мы использовали имя массива и указали индекс, по которому элемент будет сохранен. Например, имя John будет сохранено в индексе 0 массива, что означает, что оно сформирует первый элемент массива. Антоний будет последним элементом массива.
Динамические массивы
Это массив, который может содержать любое количество элементов. Размер массива может увеличиваться в любой момент. Это означает, что вы можете добавлять новые элементы в массив в любое время, когда захотим. Чтобы продемонстрировать это, давайте сначала определим массив целых чисел:
Dim nums() As Integer
Мы определили целочисленный массив с именем nums. Теперь вам нужно добавить в массив два элемента, оставив место для изменения его размера. Вам нужно использовать оператор ReDim следующим образом:
ReDim nums(1)nums(0) = 12nums(1) = 23
Теперь в нашем массиве два элемента с индексами 0 и 1. Нам нужно добавить к нему третий элемент с индексом 3, сохранив два элемента, которые у него уже есть. Мы можем сделать это следующим образом:
ReDim Preserve nums(2)nums(2) = 35
Теперь в массиве три элемента.
Получение содержимого массива
Получение означает доступ к элементам массива. Для доступа к элементу массива мы используем его индекс. Продемонстрируем это на примере.
Шаг 1) Начните с создания нового консольного приложения.
Шаг 2) Добавьте в приложение следующий код:
Module Module1Sub Main()Dim students(0 to 2) As Stringstudents(0) = "John"students(1) = "Alice"students(2) = "Antony"Console.WriteLine("First student is {0} ", students(0))Console.WriteLine("Second student is {0} ", students(1))Console.WriteLine("Third student is {0} ", students(2))Console.ReadKey()End SubEnd Module
Шаг 3) Запустите код, нажав кнопку «Пуск» на панели инструментов. Вы получите следующее окно:
Мы использовали следующий код:
Пояснение к коду:
- Создание модуля с именем Module1.
- Создание основной подпроцедуры.
- Создание массива с именем student для хранения строковых элементов. В массиве будут храниться элементы от индекса 0 до индекса 2, что означает, что в нем будет всего 3 элемента.
- Добавление имени John в качестве первого элемента массива, то есть John, сохраненного с индексом 0.
- Добавление имени Алиса в качестве второго элемента массива, то есть Алиса, хранящаяся в индексе 1.
- Добавление имени Antony в качестве третьего элемента массива, то есть Antony, сохраненного в индексе 2.
- Печать некоторого текста и элемента, хранящегося в индексе 0 массива студентов на консоли. Студенты (0) помогают нам получить доступ к элементу с индексом 0 массива с именем student.
- Печать некоторого текста и элемента, хранящегося в индексе 1 массива студентов на консоли. Студенты (1) помогают нам получить доступ к элементу в индексе 1 массива с именем student.
- Печать некоторого текста и элемента, хранящегося в индексе 2 массива студентов на консоли. Студенты (2) помогают нам получить доступ к элементу в индексе 2 массива с именем student.
- Приостановка окна консоли в ожидании или действия пользователя по его закрытию.
- Конец подпроцедуры.
- Конец модуля.
Добавление новых элементов в массив
Это произойдет только в том случае, если у вас есть динамический массив. Если вы объявили размерный массив фиксированного размера и он заполнен элементами массива, вы не можете добавлять в него новые элементы. В следующем примере показано, как добавлять новые элементы в динамический массив:
Шаг 1) Начните с создания нового консольного приложения.
Шаг 2) Добавьте в приложение следующий код:
Module Module1Sub Main()Dim nums() As IntegerReDim nums(1)nums(0) = 12nums(1) = 23For x = 0 To nums.Length - 1Console.WriteLine("Initial array element: {0}", nums(x))NextReDim Preserve nums(2)nums(2) = 35For x = 0 To nums.Length - 1Console.WriteLine("Final array element: {0}", nums(x))NextConsole.ReadKey()End SubEnd Module
Шаг 3) Нажмите кнопку «Пуск» на панели инструментов, чтобы запустить код. У вас должно получиться следующее окно:
Мы использовали следующий код:
Пояснение к коду:
- Создание модуля с именем Module1.
- Создание основной подпроцедуры.
- Создание массива с именем nums для хранения целочисленных значений.
- Указание того, что в указанном выше массиве будут храниться два элемента, то есть с индексами 0 и 1, при этом останется место для изменения размера.
- Добавление элемента 12 в индекс 0 массива nums.
- Добавление элемента 23 в индекс 1 массива nums.
- Использование цикла for для создания переменной x, которая помогает нам выполнять итерацию от первого до последнего элементов массива nums. Обратите внимание, что теперь в массиве два элемента: 12 и 23.
- Вывод текста и элементов массива на консоль.
- Завершение цикла for и переход к следующей части кода.
- Измените размер массива, чтобы разрешить элементы с индексами от 0 до 2. Теперь он сможет хранить 3 элемента, а не 2. Ключевое слово Preserve помогает нам поддерживать текущие элементы массива, то есть 12 и 23.
- Добавление элемента 35 к индексу 2 массива. Теперь в массиве три элемента: 12, 23 и 35.
- Использование цикла for для создания переменной x, которая помогает нам выполнять итерацию от первого до последнего элементов массива nums. Обратите внимание, что теперь в массиве три элемента: 12, 23 и 35.
- Вывод текста и элементов массива на консоль.
- Завершение цикла for и переход к следующей части кода.
- Приостановите окно консоли, ожидая, пока пользователь закроет его.
- Конец подпроцедуры.
- Конец модуля.
Удаление массива
Рекомендуется стереть массив после того, как вы закончите с ним, в основном, когда вы имеете дело с динамическим массивом. Это поможет вам освободить место в памяти.
Чтобы удалить массив, вам просто нужно вызвать оператор Erase, за которым следует имя массива. Например:
Dim nums(1) As Integernums(0) = 12nums(1) = 23Erase nums
Мы объявили массив целых чисел с именем nums и добавили к нему два элемента. Оператор Erase nums стирает массив.
Функция разделения
Функция разделения, предоставляемая Visual Basic .NET, помогает нам разбить строку на части и сохранить их в массиве. В следующем примере показано, как использовать эту функцию:
Шаг 1) Создайте новое консольное приложение.
Шаг 2) Добавьте в приложение следующий код:
Module Module1Sub Main()Dim myarray() As StringDim guru99 As StringDim x As Integerguru99 = "Welcome, to, Guru99"myarray = Split(guru99, ", ")For x = LBound(myarray) To UBound(myarray)Console.WriteLine(myarray(x))NextConsole.ReadKey()End SubEnd Module
Шаг 3) Запустите код, нажав кнопку «Пуск» на панели инструментов. У вас должно получиться следующее окно:
Мы использовали следующий код:
Пояснение к коду:
- Создание модуля с именем Module1.
- Запуск основной подпроцедуры.
- Создание массива с именем myarray для хранения строковых значений.
- Создание строковой переменной с именем guru99.
- Создание целочисленной переменной с именем x.
- Назначение строки переменной guru99.
- Разделение строки выше на части и размещение их в массиве с именем myarray. «,» (Запятая) является разделителем, поэтому функция разделения будет использовать его для обозначения конца различных частей строки.
- Использование переменной x для перебора массива с именем myarray. LBound и UBound определяют нижнюю и верхнюю границы массива соответственно.
- Печать значений массива с именем myarray на консоли.
- Завершение цикла for и
Функция соединения
Функция соединения помогает нам объединить несколько массивов в одну строку. Следующий пример демонстрирует это:
Шаг 1) Начните с создания нового консольного приложения.
Шаг 2) Добавьте в приложение следующий код:
Module Module1Sub Main()Dim students(0 To 2) As Stringstudents(0) = "John"students(1) = "Alice"students(2) = "Antony"Dim classmates As Stringclassmates = Join(students, ", ")Console.WriteLine(classmates)Console.ReadKey()End SubEnd Module
Шаг 3) Запустите код, нажав кнопку Пуск на панели инструментов:
Мы использовали следующий код:
Пояснение к коду:
- Создание модуля с именем Module1.
- Создание основной подпроцедуры.
- Создание массива с именем student для хранения 3 строковых значений.
- Добавление имени John в индекс 0 массива.
- Добавление имени Алиса в индекс 1 массива.
- Добавляем имя Антоний в индекс 2 массива.
- Определение переменной с именем одноклассники строкового типа данных.
- Объединение всех элементов массива студентов и их разделение с помощью запятой. Результат этой операции будет присвоен переменной одноклассникам.
- Печать содержимого переменной одноклассников на консоли.
- Приостановка окна консоли в ожидании действия пользователя по его закрытию.
- Завершение основной подпроцедуры.
- Завершение модуля.
Резюме
- Массивы используются для хранения элементов данных, принадлежащих к одному типу данных.
- Динамический массив позволяет пользователю изменять его размер, добавляя в него дополнительные элементы. Вы используете команду ReDim для добавления элементов в существующий массив
- Размер массива фиксированного размера изменить нельзя.
- Элементы массива упорядочиваются с использованием индексов, причем первый элемент имеет индекс 0, а последний элемент - индекс n-1, где n - общее количество элементов массива.
- Массивы можно удалять с помощью функции стирания.
- Вы можете использовать функции разделения и объединения, чтобы разделить или присоединить массив строк соответственно.