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:

Hentning af indholdet af et array

Vi har brugt fรธlgende kode:

Hentning af indholdet af et array

Forklaring af kode:

  1. Oprettelse af et modul ved navn Modul1.
  2. Oprettelse af hovedunderproceduren.
  3. 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.
  4. Tilfรธjelse af navnet John som det fรธrste element i arrayet, dvs. John gemt ved indeks 0.
  5. Tilfรธjelse af navnet Alice som det andet element i arrayet, det vil sige Alice gemt i indeks 1.
  6. Tilfรธjelse af navnet Antony som det tredje element i arrayet, det vil sige Antony gemt i indeks 2.
  7. 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.
  8. 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.
  9. 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.
  10. Sรฆtter konsolvinduet pรฅ pause, eller brugeren foretager handling for at lukke det.
  11. Afslutning af underproceduren.
  12. 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:

Tilfรธjelse af nye elementer til et array

Vi har brugt fรธlgende kode:

Tilfรธjelse af nye elementer til et array

Forklaring af kode:

  1. Oprettelse af et modul ved navn Modul1.
  2. Oprettelse af hovedunderproceduren.
  3. Oprettelse af et array med navnet nums til at indeholde heltalsvรฆrdier.
  4. 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.
  5. Tilfรธjelse af elementet 12 til indekset 0 for arraynumre.
  6. Tilfรธjelse af elementet 23 til indekset 1 for arraynumre.
  7. 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.
  8. Udskrivning af noget tekst og elementerne i arrayet pรฅ konsollen.
  9. Afslutning af for-lรธkken og spring til nรฆste del af koden.
  10. 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.
  11. Tilfรธjelse af elementet 35 til indeks 2 af arrayet. Arrayet har nu tre elementer, 12, 23 og 35.
  12. 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.
  13. Udskrivning af noget tekst og elementerne i arrayet pรฅ konsollen.
  14. Afslutning af for-lรธkken og spring til nรฆste del af koden.
  15. Sรฆt konsolvinduet pรฅ pause, mens du venter pรฅ, at brugeren foretager handling for at lukke det.
  16. Afslutning af underproceduren.
  17. 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:

Split-funktionen

Vi har brugt fรธlgende kode:

Split-funktionen

Forklaring af kode:

  1. Oprettelse af et modul ved navn Modul1.
  2. Start af hovedunderproceduren.
  3. Oprettelse af et array ved navn myarray til at indeholde strengvรฆrdier.
  4. Oprettelse af en strengvariabel ved navn guru99.
  5. Oprettelse af en heltalsvariabel ved navn x.
  6. Tildeling af en streng til variablen guru99.
  7. 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.
  8. 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.
  9. Udskrivning af vรฆrdierne for arrayet kaldet myarray pรฅ konsollen.
  10. 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:

Join-funktionen

Vi har brugt fรธlgende kode:

Join-funktionen

Forklaring af kode:

  1. Oprettelse af et modul ved navn Modul1.
  2. Oprettelse af hovedunderproceduren.
  3. Oprettelse af et array med navngivne elever til at indeholde 3 strengvรฆrdier.
  4. Tilfรธjelse af navnet John til indekset 0 for arrayet.
  5. Tilfรธjelse af navnet Alice til indeks 1 i arrayet.
  6. Tilfรธjelse af navnet Antony til indeks 2 i arrayet.
  7. Definering af en variabel ved navn klassekammerater af strengdatatype.
  8. 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.
  9. Udskrivning af indholdet af klassekammeratvariablen pรฅ konsollen.
  10. Sรฆtter konsolvinduet pรฅ pause og venter pรฅ, at brugeren foretager handling for at lukke det.
  11. Afslutning af hovedunderproceduren.
  12. 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

Opsummer dette indlรฆg med: