Массивы VB.Net: строковые, динамические с ПРИМЕРАМИ
⚡ Умное резюме
В VB.Net массивы хранят несколько значений одного типа данных под одним именем переменной, используя индекс, начинающийся с нуля. Поддерживаются как массивы фиксированного размера, так и динамические массивы, а функции Split и Join преобразуют строки в массивы и обратно.
Что такое массив?
Массив — это структура данных, используемая для хранения элементов одного типа. тип данныхЭлементы упорядочены последовательно, при этом первый элемент находится по индексу 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 имен.
В VB.Net массивы делятся на две группы в зависимости от того, может ли их размер изменяться после объявления. Первая группа — это массивы фиксированного размера.
Массивы фиксированного размера
Массив фиксированного размера содержит фиксированное количество элементов. Это означает, что вы должны определить количество элементов, которые он будет содержать во время своего определения. Предположим, вам нужен массив, в котором будет храниться только три имени учащихся. Вы можете определить и инициализировать массив следующим образом:
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) Запустите код, нажав кнопку «Старт» на панели инструментов. Вы увидите следующее окно:
Мы использовали следующий код:
Объяснение Code:
- Создание модуля с именем 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) Нажмите кнопку «Пуск» на панели инструментов, чтобы запустить код. Вы должны увидеть следующее окно:
Мы использовали следующий код:
Объяснение Code:
- Создание модуля с именем Module1.
- Создание основной подпроцедуры.
- Создание массива с именем nums для хранения целочисленных значений.
- Указание того, что указанный выше массив будет хранить два элемента, то есть с индексами 0 и 1, оставляя при этом место для изменения размера.
- Добавление элемента 12 к индексу 0 массива nums.
- Добавление элемента 23 к индексу 1 массива nums.
- Использование цикла for для создания переменной x, которая поможет нам перебирать от первого до последнего элемента массива nums. Обратите внимание, что теперь массив состоит из двух элементов: 12 и 23.
- Вывод текста и элементов массива на консоль.
- Завершение цикла for и переходping к следующей части кода.
- Измените размер чисел массива, чтобы разрешить элементы с индексами от 0 до 2. Теперь можно хранить 3 элемента вместо 2. Ключевое слово Preserve помогает нам сохранять текущие элементы массива, то есть 12 и 23.
- Добавление элемента 35 к индексу 2 массива. Теперь массив состоит из трех элементов: 12, 23 и 35.
- Использование цикла for для создания переменной x, которая поможет нам перебирать от первого до последнего элемента массива nums. Обратите внимание, что теперь массив состоит из трех элементов: 12, 23 и 35.
- Вывод текста и элементов массива на консоль.
- Завершение цикла for и переходping к следующей части кода.
- Приостановите окно консоли, ожидая, пока пользователь предпримет действие, чтобы закрыть его.
- Конец подпроцедуры.
- Конец модуля.
Удаление массива
Рекомендуется стирать массив после того, как вы закончите с ним работать, в основном, когда вы имеете дело с динамическим массивом. Это поможет вам освободить немного места в памяти.
Чтобы удалить массив, вам просто нужно вызвать оператор Erase, за которым следует имя массива. Например:
Dim nums(1) As Integer nums(0) = 12 nums(1) = 23 Erase nums
Мы объявили массив целых чисел с именем nums и добавили к нему два элемента. Оператор Erase nums сотрет массив.
Помимо хранения значений, VB.Net предоставляет встроенные функции для преобразования строк в массивы и обратно. Первая из них — функция Split.
Функция разделения
Функция split, предоставляемая 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) Запустите код, нажав кнопку «Старт» на панели инструментов. Вы должны увидеть следующее окно:
Мы использовали следующий код:
Объяснение Code:
- Создание модуля с именем 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) Запустите код, нажав кнопку «Старт» на панели инструментов:
Мы использовали следующий код:
Объяснение Code:
- Создание модуля с именем Module1.
- Создание основной подпроцедуры.
- Создание массива с именем «студенты» для хранения трех строковых значений.
- Добавление имени Джон к индексу 0 массива.
- Добавление имени Алисы к индексу 1 массива.
- Добавление имени Антоний к индексу 2 массива.
- Определение переменной с именем одноклассники строкового типа данных.
- Объединим все элементы массива students и разделим их запятой (,). Результат этой операции будет присвоен переменной classmates.
- Вывод содержимого переменной одноклассников на консоль.
- Приостановка окна консоли в ожидании действий пользователя по его закрытию.
- Завершение основной подпроцедуры.
- Завершение модуля.








