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 имена към него.
Масиви с фиксиран размер
Масивът с фиксиран размер съдържа фиксиран брой елементи. Това означава, че трябва да определите броя на елементите, които ще съдържа по време на дефинирането му. Да предположим, че имате нужда от масив, който да съдържа само 3 имена на ученици. Можете да дефинирате и инициализирате масива, както следва:
Dim students(0 to 2) As String
students(0) = "John"
students (1) = "Alice"
students (2) = "Antony"
Започнахме с деклариране на низов масив с име students. 0 до 2 декларира, че масивът ще съхранява елементи от неговия индекс 0 до индекс 2, което означава, че ще имаме общо 3 елемента.
За да добавим елементи към масива, сме използвали името на масива и сме посочили индекса, на който ще се съхранява елементът. Например името John ще бъде съхранено в индекс 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.
- Създаване на основната подпроцедура.
- Създаване на масив с име students за съхраняване на низови елементи. Масивът ще съхранява елементи от индекс 0 до индекс 2, което означава, че ще има общо 3 елемента.
- Добавяне на името Джон като първи елемент на масива, т.е. Джон, съхранен в индекс 0.
- Добавяне на името Алиса като втори елемент на масива, т.е. Алиса, съхранена в индекс 1.
- Добавяне на името Антоний като трети елемент от масива, тоест Антоний, съхранен в индекс 2.
- Отпечатване на текст и елемента, съхранен в индекс 0 на масива students на конзолата. Students(0) ни помага да осъществим достъп до елемента с индекс 0 на масива с име students.
- Отпечатване на текст и елемента, съхранен в индекс 1 на масива students на конзолата. Students(1) ни помага да осъществим достъп до елемента с индекс 1 на масива с име students.
- Отпечатване на текст и елемента, съхранен в индекс 2 на масива students на конзолата. Students(2) ни помага да осъществим достъп до елемента с индекс 2 на масива с име students.
- Поставяне на пауза на прозореца на конзолата в очакване или потребителят да предприеме действие за затварянето му.
- Край на подпроцедурата.
- Край на модула.
Добавяне на нови елементи към масив
Това ще се случи само ако имате динамичен масив. Ако сте декларирали размерен масив с фиксиран размер и той е пълен с елементи на масива, не можете да добавяте нови елементи към него. Следният пример демонстрира как да добавяте нови елементи към динамичен масив:
Стъпка 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) Щракнете върху бутона Старт от лентата с инструменти, за да изпълните кода. Трябва да получите следния прозорец:
Използвахме следния код:
Обяснение на кода:
- Създаване на модул с име 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.
- Създаване на основната подпроцедура.
- Създаване на масив с име students, който да съдържа 3 низови стойности.
- Добавяне на името Джон към индекс 0 на масива.
- Добавяне на името Alice към индекс 1 на масива.
- Добавяне на името Антоний към индекс 2 на масива.
- Дефиниране на променлива с име classmates от низов тип данни.
- Обединяване на всички елементи на масива students и разделянето им с , (запетая). Резултатът от тази операция ще бъде присвоен на променливата съученици.
- Отпечатване на съдържанието на променливата classmates на конзолата.
- Поставяне на пауза на прозореца на конзолата в очакване потребителят да предприеме действие, за да го затвори.
- Завършване на основната подпроцедура.
- Завършване на модула.
Oбобщение
- Масивите се използват за съхраняване на елементи от данни, които принадлежат към едно и също тип данни.
- Динамичният масив позволява на потребителя да го преоразмерява, като добавя още елементи към него. Използвате командата ReDim за добавяне на елементи към съществуващ масив
- Размерът на масив с фиксиран размер не може да се променя.
- Елементите на масива са подредени с помощта на индекси, като първият елемент е с индекс 0, а последният елемент с индекс n-1, където n е общият брой елементи на масива.
- Масивите могат да бъдат изтрити с помощта на функцията Erase
- Можете да използвате функциите за разделяне и присъединяване, за да разделите или съедините съответно низов масив








