VB.Net-arrays: streng, dynamisk med EKSEMPLER
Hvad er et array?
Et array er en datastruktur, der bruges til at gemme elementer af samme datatype. Elementerne er ordnet sekventielt med det første element ved indeks 0 og det sidste element ved indeks n-1, hvor n er det samlede antal elementer i arrayet.
Sådan deklareres og initialiseres et array
In VB.NET, er arrays erklæret ved hjælp af Dim-sætningen. For eksempel:
Dim myData() As Integer
I ovenstående eksempel har vi defineret et array ved navn myData, og det skal indeholde elementer af heltalsdatatypen. Følgende eksempel viser, hvordan vi kan erklære et array til at indeholde strengelementer:
Dim myData(10) As String
Vi har defineret et array ved navn myData til at indeholde 10 strenge.
Vi kan initialisere arrays på tidspunktet for deres erklæring. For eksempel:
Dim myData() As Integer = {11, 12, 22, 7, 47, 32}
Vi har erklæret arrayet myData og tilføjet 6 heltalselementer til det. Dette kan også gøres for strenge:
Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}
Vi har oprettet et array med navne på elever og tilføjet 5 navne til det.
Arrays med fast størrelse
Et array med fast størrelse indeholder et fast antal elementer. Det betyder, at du skal definere antallet af elementer, som den skal indeholde under sin definition. Antag, at du har brug for et array til kun at indeholde 3 elevnavne. Du kan definere og initialisere arrayet som følger:
Dim students(0 to 2) As String
students(0) = "John"
students (1) = "Alice"
students (2) = "Antony"
Vi startede med at erklære en række med navnet elever. 0 til 2 erklærer, at arrayet vil gemme elementer fra dets indeks 0 til indeks 2, hvilket betyder, at vi vil have 3 elementer i alt.
For at tilføje elementer til arrayet, har vi brugt array-navnet og specificeret det indeks, som elementet vil blive gemt ved. For eksempel vil navnet John blive gemt ved indeks 0 af arrayet, hvilket betyder, at det vil danne det første element i arrayet. Antony vil være det sidste element i arrayet.
Dynamiske arrays
Dette er et array, der kan indeholde et hvilket som helst antal elementer. Arraystørrelsen kan vokse til enhver tid. Det betyder, at du kan tilføje nye elementer til arrayet, når som helst vi ønsker det. For at demonstrere dette, lad os først definere en matrix af heltal:
Dim nums() As Integer
Vi har defineret et heltalsarray ved navn nums. Du skal nu tilføje to elementer til arrayet, mens du giver plads til at ændre størrelsen på det. Du skal bruge ReDim-erklæringen som følger:
ReDim nums(1) nums(0) = 12 nums(1) = 23
Vores array har nu to elementer i indeks 0 og 1. Vi skal tilføje et tredje element til det ved indeks 3, mens vi bevarer de to elementer, det allerede har. Vi kan gøre det som følger:
ReDim Preserve nums(2) nums(2) = 35
Arrayet har nu tre elementer.
Hentning af indholdet af et array
Hentning betyder adgang til array-elementerne. For at få adgang til et array-element bruger vi dets indeks. Lad os demonstrere dette ved hjælp af et eksempel.
Trin 1) Begynd med at oprette en ny konsolapplikation.
Trin 2) Tilføj følgende kode til applikationen:
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
Trin 3) Kør koden ved at klikke på knappen Start på værktøjslinjen. Du får følgende vindue:
Vi har brugt følgende kode:
Forklaring af kode:
- Oprettelse af et modul ved navn Modul1.
- Oprettelse af hovedunderproceduren.
- Oprettelse af et array ved navn elever til at gemme strengelementer. Arrayet vil gemme elementer fra indeks 0 til indeks 2, hvilket betyder, at det vil have i alt 3 elementer.
- Tilføjelse af navnet John som det første element i arrayet, dvs. John gemt ved indeks 0.
- Tilføjelse af navnet Alice som det andet element i arrayet, det vil sige Alice gemt i indeks 1.
- Tilføjelse af navnet Antony som det tredje element i arrayet, det vil sige Antony gemt i indeks 2.
- Udskrivning af noget tekst og elementet gemt ved indeks 0 af array-eleverne på konsollen. Studenterne(0) hjælper os med at få adgang til elementet ved indeks 0 for arrayet navngivne elever.
- Udskrivning af noget tekst og elementet gemt ved indeks 1 af array-eleverne på konsollen. Studenterne(1) hjælper os med at få adgang til elementet ved indeks 1 for arrayet navngivne elever.
- Udskrivning af noget tekst og elementet gemt ved indeks 2 af array-eleverne på konsollen. Studenterne(2) hjælper os med at få adgang til elementet ved indeks 2 for arrayet navngivne elever.
- Sætter konsolvinduet på pause, eller brugeren foretager handling for at lukke det.
- Afslutning af underproceduren.
- Slut på modulet.
Tilføjelse af nye elementer til et array
Dette vil kun ske, hvis du har et dynamisk array. Hvis du havde erklæret et dimensionelt array med fast størrelse, og det er fyldt med array-elementer, kan du ikke tilføje nye elementer til det. Følgende eksempel viser, hvordan man tilføjer nye elementer til et dynamisk array:
Trin 1) Begynd med at oprette en ny konsolapplikation.
Trin 2) Tilføj følgende kode til applikationen:
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
Trin 3) Klik på knappen Start på værktøjslinjen for at køre koden. Du bør få følgende vindue:
Vi har brugt følgende kode:
Forklaring af kode:
- Oprettelse af et modul ved navn Modul1.
- Oprettelse af hovedunderproceduren.
- Oprettelse af et array med navnet nums til at indeholde heltalsværdier.
- Angivelse af, at ovenstående array vil gemme to elementer, det vil sige ved indeks 0 og 1, mens der er plads til at ændre størrelse.
- Tilføjelse af elementet 12 til indekset 0 for arraynumre.
- Tilføjelse af elementet 23 til indekset 1 for arraynumre.
- Brug af en for-løkke til at skabe en variabel x for at hjælpe os med at iterere fra det første til det sidste element i arraynumrene. Bemærk, at arrayet nu har to elementer, 12 og 23.
- Udskrivning af noget tekst og elementerne i arrayet på konsollen.
- Afslutning af for-løkken og spring til næste del af koden.
- Tilpas størrelsen på array-numrene for at tillade elementer ved indeks 0 til 2. Det vil nu være i stand til at gemme 3 elementer i stedet for 2. Bevar nøgleordet hjælper os med at opretholde de nuværende elementer i arrayet, det vil sige 12 og 23.
- Tilføjelse af elementet 35 til indeks 2 af arrayet. Arrayet har nu tre elementer, 12, 23 og 35.
- Brug af en for-løkke til at skabe en variabel x for at hjælpe os med at iterere fra det første til det sidste element i arraynumrene. Bemærk, at arrayet nu har tre elementer, 12, 23 og 35.
- Udskrivning af noget tekst og elementerne i arrayet på konsollen.
- Afslutning af for-løkken og spring til næste del af koden.
- Sæt konsolvinduet på pause, mens du venter på, at brugeren foretager handling for at lukke det.
- Afslutning af underproceduren.
- Slut på modulet.
Sletning af et array
Det anbefales, at du sletter dit array, når du er færdig med det, mest når du har at gøre med et dynamisk array. Dette vil hjælpe dig med at frigøre noget hukommelsesplads.
For at slette et array skal du blot kalde Erase-sætningen efterfulgt af navnet på arrayet. For eksempel:
Dim nums(1) As Integer
nums(0) = 12
nums(1) = 23
Erase nums
Vi har erklæret et array af heltal ved navn nums og tilføjet to elementer til det. Erase nums-sætningen vil slette arrayet.
Split-funktionen
Opdelingsfunktionen leveret af Visual Basic .NET hjælper os med at opdele en streng i dele og holde dem i et array. Følgende eksempel viser, hvordan du bruger denne funktion:
Trin 1) Opret en ny konsolapplikation.
Trin 2) Tilføj følgende kode til applikationen:
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
Trin 3) Kør koden ved at klikke på knappen Start på værktøjslinjen. Du bør få følgende vindue:
Vi har brugt følgende kode:
Forklaring af kode:
- Oprettelse af et modul ved navn Modul1.
- Start af hovedunderproceduren.
- Oprettelse af et array ved navn myarray til at indeholde strengværdier.
- Oprettelse af en strengvariabel ved navn guru99.
- Oprettelse af en heltalsvariabel ved navn x.
- Tildeling af en streng til variablen guru99.
- Opdele strengen ovenfor i dele og placere dem i arrayet kaldet myarray. "," (komma) er afgrænsningstegnet, derfor vil splitfunktionen bruge det til at markere slutningen af de forskellige dele af strengen.
- Brug af variablen x til at iterere gennem arrayet kaldet myarray. LBound og UBound angiver henholdsvis de nedre grænser og de øvre grænser for arrayet.
- Udskrivning af værdierne for arrayet kaldet myarray på konsollen.
- Afslutning af for loop og
Join-funktionen
Sammenføjningsfunktionen hjælper os med at forbinde flere arrays i en enkelt streng. Følgende eksempel viser dette:
Trin 1) Begynd med at oprette en ny konsolapplikation.
Trin 2) Tilføj følgende kode til applikationen:
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
Trin 3) Kør koden ved at klikke på knappen Start på værktøjslinjen:
Vi har brugt følgende kode:
Forklaring af kode:
- Oprettelse af et modul ved navn Modul1.
- Oprettelse af hovedunderproceduren.
- Oprettelse af et array med navngivne elever til at indeholde 3 strengværdier.
- Tilføjelse af navnet John til indekset 0 for arrayet.
- Tilføjelse af navnet Alice til indeks 1 i arrayet.
- Tilføjelse af navnet Antony til indeks 2 i arrayet.
- Definering af en variabel ved navn klassekammerater af strengdatatype.
- Sammenføjning af alle elementerne i array-eleverne og adskille dem ved hjælp af et , (komma). Resultatet af denne operation vil blive tildelt de variable klassekammerater.
- Udskrivning af indholdet af klassekammeratvariablen på konsollen.
- Sætter konsolvinduet på pause og venter på, at brugeren foretager handling for at lukke det.
- Afslutning af hovedunderproceduren.
- Afslutning af modulet.
Resumé
- Arrays bruges til lagring af dataelementer, der hører til samme datatype.
- Et dynamisk array giver brugeren mulighed for at ændre størrelsen på det ved at tilføje flere elementer til det. Du bruger kommandoen ReDim til at tilføje elementer til et eksisterende array
- Størrelsen af et array med fast størrelse kan ikke ændres.
- Array-elementerne er ordnet ved hjælp af indekser, hvor det første element er ved indeks 0 og det sidste element ved indeks n-1, hvor n er det samlede antal array-elementer.
- Arrays kan slettes ved hjælp af Slet-funktionen
- Du kan bruge split- og joinfunktionerne til henholdsvis at opdele eller forbinde en strengmatrix








