VB.Net Arrays: String, Dynamic med EXEMPEL

Vad är en Array?

En array är en datastruktur som används för att lagra element av samma datatyp. Elementen ordnas sekventiellt med det första elementet vid index 0 och det sista elementet vid index n-1, där n är det totala antalet element i arrayen.

Hur man deklarerar och initierar en array

In VB.NET, deklareras matriser med hjälp av Dim-satsen. Till exempel:

Dim myData() As Integer

I exemplet ovan har vi definierat en array som heter myData, och den ska innehålla element av heltalsdatatypen. Följande exempel visar hur vi kan deklarera en array för att hålla strängelement:

Dim myData(10) As String

Vi har definierat en array som heter myData för att hålla 10 strängar.

Vi kan initiera arrayer vid tidpunkten för deras deklaration. Till exempel:

Dim myData() As Integer = {11, 12, 22, 7, 47, 32}

Vi har deklarerat arrayen myData och lagt till 6 heltalselement till den. Detta kan också göras för strängar:

Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}

Vi har skapat en array som heter elever och lagt till 5 namn till den.

Arrayer med fast storlek

En matris med fast storlek innehåller ett fast antal element. Detta innebär att du måste definiera antalet element som den kommer att innehålla under sin definition. Anta att du behöver en array som endast innehåller 3 elevnamn. Du kan definiera och initiera arrayen enligt följande:

Dim students(0 to 2) As String 
      
students(0) = "John"
students (1) = "Alice"
students (2) = "Antony"

Vi började med att deklarera en strängarray som heter studenter. 0 till 2 deklarerar att arrayen kommer att lagra element från dess index 0 till index 2, vilket betyder att vi kommer att ha 3 element totalt.

För att lägga till element i arrayen har vi använt arraynamnet och angett indexet där elementet ska lagras. Till exempel kommer namnet John att lagras i index 0 i arrayen, vilket betyder att det kommer att utgöra det första elementet i arrayen. Antony kommer att vara det sista elementet i arrayen.

Dynamiska matriser

Detta är en array som kan innehålla hur många element som helst. Arraystorleken kan växa när som helst. Detta innebär att du kan lägga till nya element till arrayen när som helst vi vill. För att demonstrera detta, låt oss först definiera en array av heltal:

Dim nums() As Integer

Vi har definierat en heltalsmatris med namnet nums. Du måste nu lägga till två element till arrayen, samtidigt som du ger utrymme för att ändra storlek på den. Du måste använda ReDim-satsen enligt följande:

ReDim nums(1)
nums(0) = 12
nums(1) = 23

Vår array har nu två element i index 0 och 1. Vi måste lägga till ett tredje element till den vid index 3 samtidigt som vi behåller de två element som den redan har. Vi kan göra det på följande sätt:

ReDim Preserve nums(2)
nums(2) = 35

Arrayen har nu tre element.

Hämta innehållet i en array

Hämtning innebär åtkomst till arrayelementen. För att komma åt ett arrayelement använder vi dess index. Låt oss visa detta med ett exempel.

Steg 1) Börja med att skapa en ny konsolapplikation.

Steg 2) Lägg till följande kod i 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

Steg 3) Kör koden genom att klicka på Start-knappen i verktygsfältet. Du får följande fönster:

Hämta innehållet i en array

Vi har använt följande kod:

Hämta innehållet i en array

Förklaring av kod:

  1. Skapa en modul som heter Module1.
  2. Skapa den huvudsakliga underproceduren.
  3. Skapa en array med namnet elever för att lagra strängelement. Arrayen kommer att lagra element från index 0 till index 2, vilket betyder att den kommer att ha totalt 3 element.
  4. Att lägga till namnet John som det första elementet i arrayen, det vill säga John lagras vid index 0.
  5. Lägga till namnet Alice som det andra elementet i arrayen, det vill säga Alice lagrad i index 1.
  6. Att lägga till namnet Antony som det tredje elementet i arrayen, det vill säga Antony lagrad i index 2.
  7. Skriver ut lite text och elementet lagrat i index 0 för arraystudenterna på konsolen. Studenterna(0) hjälper oss att komma åt elementet vid index 0 för arrayen namngivna studenter.
  8. Skriver ut lite text och elementet lagrat i index 1 för arraystudenterna på konsolen. Studenterna(1) hjälper oss att komma åt elementet vid index 1 för arrayen namngivna studenter.
  9. Skriver ut lite text och elementet lagrat i index 2 för arraystudenterna på konsolen. Studenterna(2) hjälper oss att komma åt elementet vid index 2 för arrayen namngivna studenter.
  10. Pausar konsolfönstret som väntar eller användaren ska vidta åtgärder för att stänga det.
  11. Slut på underförfarandet.
  12. Slutet på modulen.

Lägga till nya element i en array

Detta kommer bara att hända om du har en dynamisk array. Om du hade deklarerat en dimensionell array med fast storlek och den är full av array-element, kan du inte lägga till nya element till den. Följande exempel visar hur man lägger till nya element i en dynamisk array:

Steg 1) Börja med att skapa en ny konsolapplikation.

Steg 2) Lägg till följande kod i 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

Steg 3) Klicka på Start-knappen i verktygsfältet för att köra koden. Du bör få upp följande fönster:

Lägga till nya element i en array

Vi har använt följande kod:

Lägga till nya element i en array

Förklaring av kod:

  1. Skapa en modul som heter Module1.
  2. Skapa den huvudsakliga underproceduren.
  3. Skapa en matris med namnet nums för att hålla heltalsvärden.
  4. Att specificera att ovanstående array kommer att lagra två element, det vill säga vid index 0 och 1 samtidigt som det ger utrymme för storleksändring.
  5. Lägga till elementet 12 till index 0 för arraynummer.
  6. Lägga till elementet 23 till index 1 för arraynummer.
  7. Använda en for-loop för att skapa en variabel x för att hjälpa oss att iterera från de första till de sista elementen i arraynumren. Observera att arrayen nu har två element, 12 och 23.
  8. Skriver ut lite text och elementen i arrayen på konsolen.
  9. Avslutar for-slingan och hoppar till nästa del av koden.
  10. Ändra storlek på arraynumren för att tillåta element vid index 0 till 2. Den kommer nu att kunna lagra 3 element istället för 2. Nyckelordet Bevara hjälper oss att behålla de nuvarande elementen i arrayen, det vill säga 12 och 23.
  11. Lägga till elementet 35 till index 2 i arrayen. Arrayen har nu tre element, 12, 23 och 35.
  12. Använda en for-loop för att skapa en variabel x för att hjälpa oss att iterera från de första till de sista elementen i arraynumren. Observera att arrayen nu har tre element, 12, 23 och 35.
  13. Skriver ut lite text och elementen i arrayen på konsolen.
  14. Avslutar for-slingan och hoppar till nästa del av koden.
  15. Pausa konsolfönstret och vänta på att användaren ska vidta åtgärder för att stänga det.
  16. Slut på underförfarandet.
  17. Slutet på modulen.

Ta bort en array

Det rekommenderas att du raderar din array när du är klar med den, mest när du har att göra med en dynamisk array. Detta hjälper dig att frigöra lite minnesutrymme.

För att ta bort en array behöver du bara anropa Erase-satsen följt av namnet på arrayen. Till exempel:

Dim nums(1) As Integer
        nums(0) = 12
        nums(1) = 23
Erase nums

Vi har deklarerat en array av heltal som heter nums och lagt till två element till den. Radera nums-satsen kommer att radera matrisen.

Split-funktionen

Splitfunktionen som tillhandahålls av Visual Basic .NET hjälper oss att dela upp en sträng i delar och hålla dem i en array. Följande exempel visar hur du använder den här funktionen:

Steg 1) Skapa en ny konsolapplikation.

Steg 2) Lägg till följande kod i 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

Steg 3) Kör koden genom att klicka på Start-knappen i verktygsfältet. Du bör få upp följande fönster:

Split-funktionen

Vi har använt följande kod:

Split-funktionen

Förklaring av kod:

  1. Skapa en modul som heter Module1.
  2. Startar huvuddelproceduren.
  3. Skapa en array med namnet myarray för att hålla strängvärden.
  4. Skapa en strängvariabel med namnet guru99.
  5. Skapa en heltalsvariabel med namnet x.
  6. Tilldela en sträng till variabeln guru99.
  7. Dela upp strängen ovan i delar och placera dem i arrayen som heter myarray. "," (komma) är avgränsaren, därför kommer splitfunktionen att använda den för att markera slutet på de olika delarna av strängen.
  8. Använda variabeln x för att iterera genom arrayen som heter myarray. LBound och UBound anger de nedre gränserna respektive de övre gränserna för arrayen.
  9. Skriver ut värdena för arrayen med namnet myarray på konsolen.
  10. Avslutar for-slingan och

Join-funktionen

Join-funktionen hjälper oss att sammanfoga flera arrayer till en enda sträng. Följande exempel visar detta:

Steg 1) Börja med att skapa en ny konsolapplikation.

Steg 2) Lägg till följande kod i 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

Steg 3) Kör koden genom att klicka på Start-knappen i verktygsfältet:

Join-funktionen

Vi har använt följande kod:

Join-funktionen

Förklaring av kod:

  1. Skapa en modul som heter Module1.
  2. Skapa den huvudsakliga underproceduren.
  3. Skapa en array med namnet elever för att hålla 3 strängvärden.
  4. Lägger till namnet John till index 0 för arrayen.
  5. Lägger till namnet Alice till index 1 i arrayen.
  6. Lägger till namnet Antony till index 2 i arrayen.
  7. Definiera en variabel med namnet klasskamrater av strängdatatyp.
  8. Sammanfoga alla element i arrayeleverna och separera dem med ett , (komma). Resultatet av denna operation kommer att tilldelas de variabla klasskamraterna.
  9. Skriver ut innehållet i klasskamratvariabeln på konsolen.
  10. Pausar konsolfönstret i väntan på att användaren ska vidta åtgärder för att stänga det.
  11. Avslutar det huvudsakliga underförfarandet.
  12. Avslutar modulen.

Sammanfattning

  • Matriser används för att lagra dataelement som hör till densamma data typ.
  • En dynamisk array tillåter användaren att ändra storlek på den genom att lägga till fler element till den. Du använder kommandot ReDim för att lägga till element till en befintlig array
  • Storleken på en matris med fast storlek kan inte ändras.
  • Matriselementen är ordnade med hjälp av index, där det första elementet är vid index 0 och det sista elementet vid index n-1, där n är det totala antalet matriselement.
  • Arrayer kan raderas med funktionen Erase
  • Du kan använda split- och join-funktionerna för att dela eller sammanfoga en strängarray