Массивы VB.Net: строковые, динамические с ПРИМЕРАМИ
Что такое массив?
Массив — это структура данных, используемая для хранения элементов одного типа данных. Элементы упорядочиваются последовательно: первый элемент имеет индекс 0, а последний элемент — индекс n-1, где n — общее количество элементов в массиве.
Как объявить и инициализировать массив
In 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"}
Мы создали массив с именем «студенты» и добавили в него 5 имен.
Массивы фиксированного размера
Массив фиксированного размера содержит фиксированное количество элементов. Это означает, что вы должны определить количество элементов, которые он будет содержать во время своего определения. Предположим, вам нужен массив, в котором будет храниться только три имени учащихся. Вы можете определить и инициализировать массив следующим образом:
Dim students(0 to 2) As String students(0) = "John" students (1) = "Alice" students (2) = "Antony"
Мы начали с объявления массива строк с именем students. 0 to 2 объявляет, что массив будет хранить элементы от индекса 0 до индекса 2, то есть у нас будет всего 3 элемента.
Чтобы добавить элементы в массив, мы использовали имя массива и указали индекс, по которому будет храниться элемент. Например, имя Джон будет храниться в индексе 0 массива, что означает, что оно будет первым элементом массива. Антоний будет последним элементом массива.
Динамические массивы
Это массив, который может содержать любое количество элементов. Размер массива может увеличиться в любой момент. Это означает, что вы можете добавлять новые элементы в массив в любое время. Чтобы продемонстрировать это, давайте сначала определим массив целых чисел:
Dim nums() As Integer
Мы определили целочисленный массив с именем nums. Теперь вам нужно добавить в массив два элемента, оставив при этом место для изменения его размера. Вам нужно использовать оператор ReDim следующим образом:
ReDim nums(1) nums(0) = 12 nums(1) = 23
Теперь наш массив имеет два элемента с индексами 0 и 1. Нам нужно добавить к нему третий элемент с индексом 3, сохранив при этом два элемента, которые у него уже есть. Мы можем сделать это следующим образом:
ReDim Preserve nums(2) nums(2) = 35
Теперь массив состоит из трех элементов.
Получение содержимого массива
Извлечение означает доступ к элементам массива. Для доступа к элементу массива мы используем его индекс. Продемонстрируем это на примере.
Шаг 1) Начните с создания нового консольного приложения.
Шаг 2) Добавьте в приложение следующий код:
Module Module1 Sub Main() Dim students(0 to 2) As String students(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 Sub End Module
Шаг 3) Запустите код, нажав кнопку «Пуск» на панели инструментов. Вы получите следующее окно:
Мы использовали следующий код:
Объяснение кода:
- Создание модуля с именем Module1.
- Создание основной подпроцедуры.
- Создание массива с именем «студенты» для хранения строковых элементов. Массив будет хранить элементы от индекса 0 до индекса 2, что означает, что всего в нем будет 3 элемента.
- Добавление имени John в качестве первого элемента массива, то есть John сохраняется с индексом 0.
- Добавление имени Алисы в качестве второго элемента массива, то есть Алиса хранится с индексом 1.
- Добавление имени Антоний в качестве третьего элемента массива, то есть Антоний хранится по индексу 2.
- Печать некоторого текста и элемента, хранящегося под индексом 0 студентов массива на консоли. Студенты(0) помогают нам получить доступ к элементу с индексом 0 массива с именем Студенты.
- Печать некоторого текста и элемента, хранящегося под индексом 1 студентов массива на консоли. Студенты(1) помогают нам получить доступ к элементу с индексом 1 массива с именем Студенты.
- Печать некоторого текста и элемента, хранящегося под индексом 2 студентов массива на консоли. Студенты(2) помогают нам получить доступ к элементу с индексом 2 массива с именем Студенты.
- Приостановка ожидания окна консоли или действия пользователя по его закрытию.
- Конец подпроцедуры.
- Конец модуля.
Добавление новых элементов в массив
Это произойдет только в том случае, если у вас есть динамический массив. Если вы объявили размерный массив фиксированного размера и он полон элементов массива, вы не можете добавлять к нему новые элементы. В следующем примере показано, как добавлять новые элементы в динамический массив:
Шаг 1) Начните с создания нового консольного приложения.
Шаг 2) Добавьте в приложение следующий код:
Module Module1 Sub Main() Dim nums() As Integer ReDim nums(1) nums(0) = 12 nums(1) = 23 For x = 0 To nums.Length - 1 Console.WriteLine("Initial array element: {0}", nums(x)) Next ReDim Preserve nums(2) nums(2) = 35 For x = 0 To nums.Length - 1 Console.WriteLine("Final array element: {0}", nums(x)) Next Console.ReadKey() End Sub End Module
Шаг 3) Нажмите кнопку Start на панели инструментов, чтобы запустить код. Вы должны получить следующее окно:
Мы использовали следующий код:
Объяснение кода:
- Создание модуля с именем 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 Integer nums(0) = 12 nums(1) = 23 Erase nums
Мы объявили массив целых чисел с именем nums и добавили к нему два элемента. Оператор Erase nums сотрет массив.
Функция разделения
Функция разделения, предоставляемая Visual Basic .NET, помогает нам разделить строку на части и сохранить их в массиве. Следующий пример демонстрирует, как использовать эту функцию:
Шаг 1) Создайте новое консольное приложение.
Шаг 2) Добавьте в приложение следующий код:
Module Module1 Sub Main() Dim myarray() As String Dim guru99 As String Dim x As Integer guru99 = "Welcome, to, Guru99" myarray = Split(guru99, ", ") For x = LBound(myarray) To UBound(myarray) Console.WriteLine(myarray(x)) Next Console.ReadKey() End Sub End Module
Шаг 3) Запустите код, нажав кнопку «Пуск» на панели инструментов. Вы должны получить следующее окно:
Мы использовали следующий код:
Объяснение кода:
- Создание модуля с именем Module1.
- Запускаем основную подпроцедуру.
- Создание массива с именем myarray для хранения строковых значений.
- Создание строковой переменной с именем guru99.
- Создание целочисленной переменной с именем x.
- Присвоение строки переменной guru99.
- Разделение приведенной выше строки на части и размещение их в массиве с именем myarray. «,» (запятая) является разделителем, поэтому функция разделения будет использовать его для обозначения конца различных частей строки.
- Использование переменной x для перебора массива с именем myarray. LBound и UBound определяют нижнюю и верхнюю границы массива соответственно.
- Вывод значений массива с именем myarray на консоль.
- Завершение цикла for и
Функция соединения
Функция соединения помогает нам объединить несколько массивов в одну строку. Следующий пример демонстрирует это:
Шаг 1) Начните с создания нового консольного приложения.
Шаг 2) Добавьте в приложение следующий код:
Module Module1 Sub Main() Dim students(0 To 2) As String students(0) = "John" students(1) = "Alice" students(2) = "Antony" Dim classmates As String classmates = Join(students, ", ") Console.WriteLine(classmates) Console.ReadKey() End Sub End Module
Шаг 3) Запустите код, нажав кнопку «Пуск» на панели инструментов:
Мы использовали следующий код:
Объяснение кода:
- Создание модуля с именем Module1.
- Создание основной подпроцедуры.
- Создание массива с именем «студенты» для хранения трех строковых значений.
- Добавление имени Джон к индексу 0 массива.
- Добавление имени Алисы к индексу 1 массива.
- Добавление имени Антоний к индексу 2 массива.
- Определение переменной с именем одноклассники строкового типа данных.
- Объединение всех элементов массива студентов и разделение их с помощью запятой. Результат этой операции будет присвоен переменной одноклассники.
- Вывод содержимого переменной одноклассников на консоль.
- Приостановка окна консоли в ожидании действий пользователя по его закрытию.
- Завершение основной подпроцедуры.
- Завершение модуля.
Итого
- Массивы используются для хранения элементов данных, принадлежащих одному и тому же тип данных.
- Динамический массив позволяет пользователю изменять его размер, добавляя в него дополнительные элементы. Вы используете команду ReDim для добавления элементов в существующий массив
- Размер массива фиксированного размера изменить нельзя.
- Элементы массива упорядочиваются с использованием индексов, при этом первый элемент имеет индекс 0, а последний элемент — индекс n-1, где n — общее количество элементов массива.
- Массивы можно удалить с помощью функции «Стереть».
- Вы можете использовать функции разделения и объединения для разделения или объединения массива строк соответственно.