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:
Vi har använt följande kod:
Förklaring av kod:
- Skapa en modul som heter Module1.
- Skapa den huvudsakliga underproceduren.
- 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.
- Att lägga till namnet John som det första elementet i arrayen, det vill säga John lagras vid index 0.
- Lägga till namnet Alice som det andra elementet i arrayen, det vill säga Alice lagrad i index 1.
- Att lägga till namnet Antony som det tredje elementet i arrayen, det vill säga Antony lagrad i index 2.
- 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.
- 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.
- 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.
- Pausar konsolfönstret som väntar eller användaren ska vidta åtgärder för att stänga det.
- Slut på underförfarandet.
- 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:
Vi har använt följande kod:
Förklaring av kod:
- Skapa en modul som heter Module1.
- Skapa den huvudsakliga underproceduren.
- Skapa en matris med namnet nums för att hålla heltalsvärden.
- 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.
- Lägga till elementet 12 till index 0 för arraynummer.
- Lägga till elementet 23 till index 1 för arraynummer.
- 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.
- Skriver ut lite text och elementen i arrayen på konsolen.
- Avslutar for-slingan och hoppar till nästa del av koden.
- Ä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.
- Lägga till elementet 35 till index 2 i arrayen. Arrayen har nu tre element, 12, 23 och 35.
- 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.
- Skriver ut lite text och elementen i arrayen på konsolen.
- Avslutar for-slingan och hoppar till nästa del av koden.
- Pausa konsolfönstret och vänta på att användaren ska vidta åtgärder för att stänga det.
- Slut på underförfarandet.
- 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:
Vi har använt följande kod:
Förklaring av kod:
- Skapa en modul som heter Module1.
- Startar huvuddelproceduren.
- Skapa en array med namnet myarray för att hålla strängvärden.
- Skapa en strängvariabel med namnet guru99.
- Skapa en heltalsvariabel med namnet x.
- Tilldela en sträng till variabeln guru99.
- 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.
- 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.
- Skriver ut värdena för arrayen med namnet myarray på konsolen.
- 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:
Vi har använt följande kod:
Förklaring av kod:
- Skapa en modul som heter Module1.
- Skapa den huvudsakliga underproceduren.
- Skapa en array med namnet elever för att hålla 3 strängvärden.
- Lägger till namnet John till index 0 för arrayen.
- Lägger till namnet Alice till index 1 i arrayen.
- Lägger till namnet Antony till index 2 i arrayen.
- Definiera en variabel med namnet klasskamrater av strängdatatyp.
- Sammanfoga alla element i arrayeleverna och separera dem med ett , (komma). Resultatet av denna operation kommer att tilldelas de variabla klasskamraterna.
- Skriver ut innehållet i klasskamratvariabeln på konsolen.
- Pausar konsolfönstret i väntan på att användaren ska vidta åtgärder för att stänga det.
- Avslutar det huvudsakliga underförfarandet.
- 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