Массивы 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) Запустите код, нажав кнопку «Пуск» на панели инструментов. Вы получите следующее окно:

Получение содержимого массива

Мы использовали следующий код:

Получение содержимого массива

Объяснение кода:

  1. Создание модуля с именем Module1.
  2. Создание основной подпроцедуры.
  3. Создание массива с именем «студенты» для хранения строковых элементов. Массив будет хранить элементы от индекса 0 до индекса 2, что означает, что всего в нем будет 3 элемента.
  4. Добавление имени John в качестве первого элемента массива, то есть John сохраняется с индексом 0.
  5. Добавление имени Алисы в качестве второго элемента массива, то есть Алиса хранится с индексом 1.
  6. Добавление имени Антоний в качестве третьего элемента массива, то есть Антоний хранится по индексу 2.
  7. Печать некоторого текста и элемента, хранящегося под индексом 0 студентов массива на консоли. Студенты(0) помогают нам получить доступ к элементу с индексом 0 массива с именем Студенты.
  8. Печать некоторого текста и элемента, хранящегося под индексом 1 студентов массива на консоли. Студенты(1) помогают нам получить доступ к элементу с индексом 1 массива с именем Студенты.
  9. Печать некоторого текста и элемента, хранящегося под индексом 2 студентов массива на консоли. Студенты(2) помогают нам получить доступ к элементу с индексом 2 массива с именем Студенты.
  10. Приостановка ожидания окна консоли или действия пользователя по его закрытию.
  11. Конец подпроцедуры.
  12. Конец модуля.

Добавление новых элементов в массив

Это произойдет только в том случае, если у вас есть динамический массив. Если вы объявили размерный массив фиксированного размера и он полон элементов массива, вы не можете добавлять к нему новые элементы. В следующем примере показано, как добавлять новые элементы в динамический массив:

Шаг 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 на панели инструментов, чтобы запустить код. Вы должны получить следующее окно:

Добавление новых элементов в массив

Мы использовали следующий код:

Добавление новых элементов в массив

Объяснение кода:

  1. Создание модуля с именем Module1.
  2. Создание основной подпроцедуры.
  3. Создание массива с именем nums для хранения целочисленных значений.
  4. Указание того, что указанный выше массив будет хранить два элемента, то есть с индексами 0 и 1, оставляя при этом место для изменения размера.
  5. Добавление элемента 12 к индексу 0 массива nums.
  6. Добавление элемента 23 к индексу 1 массива nums.
  7. Использование цикла for для создания переменной x, которая поможет нам перебирать от первого до последнего элемента массива nums. Обратите внимание, что теперь массив состоит из двух элементов: 12 и 23.
  8. Вывод текста и элементов массива на консоль.
  9. Завершение цикла for и переход к следующей части кода.
  10. Измените размер чисел массива, чтобы разрешить элементы с индексами от 0 до 2. Теперь можно хранить 3 элемента вместо 2. Ключевое слово Preserve помогает нам сохранять текущие элементы массива, то есть 12 и 23.
  11. Добавление элемента 35 к индексу 2 массива. Теперь массив состоит из трех элементов: 12, 23 и 35.
  12. Использование цикла for для создания переменной x, которая поможет нам перебирать от первого до последнего элемента массива nums. Обратите внимание, что теперь массив состоит из трех элементов: 12, 23 и 35.
  13. Вывод текста и элементов массива на консоль.
  14. Завершение цикла for и переход к следующей части кода.
  15. Приостановите окно консоли, ожидая, пока пользователь предпримет действие, чтобы закрыть его.
  16. Конец подпроцедуры.
  17. Конец модуля.

Удаление массива

Рекомендуется стирать массив после того, как вы закончите с ним работать, в основном, когда вы имеете дело с динамическим массивом. Это поможет вам освободить немного места в памяти.

Чтобы удалить массив, вам просто нужно вызвать оператор 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) Запустите код, нажав кнопку «Пуск» на панели инструментов. Вы должны получить следующее окно:

Функция разделения

Мы использовали следующий код:

Функция разделения

Объяснение кода:

  1. Создание модуля с именем Module1.
  2. Запускаем основную подпроцедуру.
  3. Создание массива с именем myarray для хранения строковых значений.
  4. Создание строковой переменной с именем guru99.
  5. Создание целочисленной переменной с именем x.
  6. Присвоение строки переменной guru99.
  7. Разделение приведенной выше строки на части и размещение их в массиве с именем myarray. «,» (запятая) является разделителем, поэтому функция разделения будет использовать его для обозначения конца различных частей строки.
  8. Использование переменной x для перебора массива с именем myarray. LBound и UBound определяют нижнюю и верхнюю границы массива соответственно.
  9. Вывод значений массива с именем myarray на консоль.
  10. Завершение цикла 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) Запустите код, нажав кнопку «Пуск» на панели инструментов:

Функция соединения

Мы использовали следующий код:

Функция соединения

Объяснение кода:

  1. Создание модуля с именем Module1.
  2. Создание основной подпроцедуры.
  3. Создание массива с именем «студенты» для хранения трех строковых значений.
  4. Добавление имени Джон к индексу 0 массива.
  5. Добавление имени Алисы к индексу 1 массива.
  6. Добавление имени Антоний к индексу 2 массива.
  7. Определение переменной с именем одноклассники строкового типа данных.
  8. Объединение всех элементов массива студентов и разделение их с помощью запятой. Результат этой операции будет присвоен переменной одноклассники.
  9. Вывод содержимого переменной одноклассников на консоль.
  10. Приостановка окна консоли в ожидании действий пользователя по его закрытию.
  11. Завершение основной подпроцедуры.
  12. Завершение модуля.

Итого

  • Массивы используются для хранения элементов данных, принадлежащих одному и тому же тип данных.
  • Динамический массив позволяет пользователю изменять его размер, добавляя в него дополнительные элементы. Вы используете команду ReDim для добавления элементов в существующий массив
  • Размер массива фиксированного размера изменить нельзя.
  • Элементы массива упорядочиваются с использованием индексов, при этом первый элемент имеет индекс 0, а последний элемент — индекс n-1, где n — общее количество элементов массива.
  • Массивы можно удалить с помощью функции «Стереть».
  • Вы можете использовать функции разделения и объединения для разделения или объединения массива строк соответственно.