Hvad er en matrix?
Et array er en datastruktur, der bruges til at gemme elementer af samme datatype. Elementerne ordnes sekventielt med det første element i indeks 0 og det sidste element i indeks n-1, hvor n er det samlede antal elementer i arrayet.
I denne vejledning lærer du:
- Hvad er en matrix?
- Sådan erklæres og initialiseres en matrix
- Arrays i fast størrelse
- Dynamiske arrays
- Henter indholdet af en matrix
- Tilføjelse af nye elementer til en matrix
- Sletning af en matrix
- Split-funktionen
- Deltagefunktionen
Sådan erklæres og initialiseres en matrix
I VB.NET erklæres arrays ved hjælp af Dim-sætningen. For eksempel:
Dim myData() As Integer
I ovenstående eksempel har vi defineret et array, der hedder myData, og det skal indeholde elementer af heltal datatypen. Følgende eksempel viser, hvordan vi kan erklære, at en matrix indeholder strengelementer:
Dim myData(10) As String
Vi har defineret en matrix 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 i tilfælde af strenge:
Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}
Vi har oprettet en matrix navngivet studerende og tilføjet 5 navne til den.
Arrays i fast størrelse
Et array med fast størrelse indeholder et fast antal elementer. Dette betyder, at du skal definere antallet af elementer, som det skal indeholde under sin definition. Antag at du har brug for en matrix til kun at indeholde 3 elevnavne. Du kan definere og initialisere arrayet som følger:
Dim students(0 to 2) As Stringstudents(0) = "John"students (1) = "Alice"students (2) = "Antony"
Vi begyndte med at erklære en strenggruppe, der hedder studerende. 0 til 2 erklærer, at arrayet vil gemme elementer fra dets indeks 0 til index 2, hvilket betyder, at vi vil have 3 elementer i alt.
For at tilføje elementer til arrayet har vi brugt arraynavnet og specificeret det indeks, hvor elementet skal lagres. For eksempel vil navnet John blive gemt i matrixens indeks 0, hvilket betyder, at det vil udgøre det første element i arrayet. Antony vil være det sidste element i arrayet.
Dynamiske arrays
Dette er en matrix, der kan rumme et vilkårligt antal elementer. Arraystørrelsen kan vokse når som helst. Dette 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 række heltal:
Dim nums() As Integer
Vi har defineret et heltalsarray med navnet 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-sætningen som følger:
ReDim nums(1)nums(0) = 12nums(1) = 23
Vores matrix har nu to elementer i indeks 0 og 1. Vi skal tilføje et tredje element til det ved indeks 3, mens vi bevarer det to element, det allerede har. Vi kan gøre det som følger:
ReDim Preserve nums(2)nums(2) = 35
Arrayet har nu tre elementer.
Henter indholdet af en matrix
Hentning betyder adgang til matrixelementerne. For at få adgang til et array-element bruger vi dets indeks. Lad os demonstrere dette ved hjælp af et eksempel.
Trin 1) Start med at oprette en ny konsolapplikation.
Trin 2) Tilføj følgende kode til applikationen:
Module Module1Sub Main()Dim students(0 to 2) As Stringstudents(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 SubEnd Module
Trin 3) Kør koden ved at klikke på Start-knappen fra værktøjslinjen. Du får følgende vindue:
Vi har brugt følgende kode:
Forklaring af kode:
- Oprettelse af et modul med navnet Module1.
- Oprettelse af den primære underprocedure.
- Oprettelse af et array, der hedder studerende til at gemme strengelementer. Arrayet gemmer 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, det vil sige John lagret i 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 lagret i indeks 2.
- Udskrivning af tekst og det element, der er gemt i indeks 0 for matrixstudenterne på konsollen. Eleverne (0) hjælper os med at få adgang til elementet ved indeks 0 for det array, der hedder studerende.
- Udskrivning af tekst og det element, der er gemt i indeks 1 for array-studerende på konsollen. Eleverne (1) hjælper os med at få adgang til elementet ved indeks 1 i det array, der hedder studerende.
- Udskrivning af tekst og det element, der er gemt i indeks 2 for array-studerende på konsollen. Eleverne (2) hjælper os med at få adgang til elementet ved indeks 2 i det array, der hedder studerende.
- Sætter konsolvinduet på pause, eller brugeren træffer handling for at lukke det.
- Afslutning på underproceduren.
- Slutningen af modulet.
Tilføjelse af nye elementer til en matrix
Dette sker kun, hvis du har et dynamisk array. Hvis du havde erklæret en dimensionel array i fast størrelse, og den er fuld af array-elementer, kan du ikke tilføje nye elementer til den. Følgende eksempel viser, hvordan du tilføjer nye elementer til et dynamisk array:
Trin 1) Start med at oprette en ny konsolapplikation.
Trin 2) Tilføj følgende kode til applikationen:
Module Module1Sub Main()Dim nums() As IntegerReDim nums(1)nums(0) = 12nums(1) = 23For x = 0 To nums.Length - 1Console.WriteLine("Initial array element: {0}", nums(x))NextReDim Preserve nums(2)nums(2) = 35For x = 0 To nums.Length - 1Console.WriteLine("Final array element: {0}", nums(x))NextConsole.ReadKey()End SubEnd Module
Trin 3) Klik på Start-knappen i værktøjslinjen for at køre koden. Du skal få følgende vindue:
Vi har brugt følgende kode:
Forklaring af kode:
- Oprettelse af et modul med navnet Module1.
- Oprettelse af den primære underprocedure.
- Oprettelse af en matrix med navnet nums til at indeholde heltal værdier
- Angivelse af, at ovenstående array gemmer to elementer, det vil sige i indeks 0 og 1, mens det giver plads til størrelse.
- Tilføjelse af elementet 12 til indekset 0 for arraynumre.
- Tilføjelse af element 23 til indeks 1 i array-numre.
- Brug af en for-løkke til at oprette en variabel x for at hjælpe os med at gentage fra de første til de sidste elementer i matrixnumrene. Bemærk, at arrayet nu har to elementer, 12 og 23.
- Udskrivning af tekst og elementerne i arrayet på konsollen.
- Afslutter for-løkken og springer til den næste del af koden.
- Ændr størrelsen på arraynumrene 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. Nøgleordet Bevar hjælper os med at opretholde de aktuelle elementer i arrayet, det vil sige 12 og 23.
- Tilføjelse af element 35 til indeks 2 i arrayet. Arrayet har nu tre elementer, 12, 23 og 35.
- Brug af en for-løkke til at oprette en variabel x for at hjælpe os med at gentage fra de første til de sidste elementer i matrixnumrene. Bemærk, at arrayet nu har tre elementer, 12, 23 og 35.
- Udskrivning af tekst og elementerne i arrayet på konsollen.
- Afslutter for-løkken og springer til den næste del af koden.
- Sæt konsolvinduet på pause og venter på, at brugeren tager skridt til at lukke det.
- Afslutning på underproceduren.
- Slutningen af modulet.
Sletning af en matrix
Det anbefales, at du sletter dit array, når du er færdig med det, hovedsagelig når du har at gøre med et dynamisk array. Dette hjælper dig med at frigøre noget hukommelsesplads.
For at slette et array skal du bare ringe til Erase-sætningen efterfulgt af navnet på arrayet. For eksempel:
Dim nums(1) As Integernums(0) = 12nums(1) = 23Erase nums
Vi har erklæret en række heltal med navnet nums og tilføjet to elementer til det. Erase nums-sætningen sletter arrayet.
Split-funktionen
Opdelingsfunktionen leveret af Visual Basic .NET hjælper os med at opdele en streng i dele og holde dem i en matrix. 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 Module1Sub Main()Dim myarray() As StringDim guru99 As StringDim x As Integerguru99 = "Welcome, to, Guru99"myarray = Split(guru99, ", ")For x = LBound(myarray) To UBound(myarray)Console.WriteLine(myarray(x))NextConsole.ReadKey()End SubEnd Module
Trin 3) Kør koden ved at klikke på Start-knappen fra værktøjslinjen. Du skal få følgende vindue:
Vi har brugt følgende kode:
Forklaring af kode:
- Oprettelse af et modul med navnet Module1.
- Start af hovedunderproceduren.
- Oprettelse af et array med navnet myarray for at holde strengværdier.
- Oprettelse af en strengvariabel med navnet guru99.
- Oprettelse af en heltalsvariabel med navnet x.
- Tildeling af en streng til variablen guru99.
- Opdeling af strengen ovenfor i dele og placering af dem i det array, der hedder myarray. "," (Komma) er afgrænser, og derfor vil splitfunktionen bruge den til at markere slutningen på de forskellige dele af strengen.
- Brug variablen x til at gentage gennem arrayet med navnet myarray. LBound og UBound angiver henholdsvis de nedre og øvre grænser for arrayet.
- Udskrivning af værdierne for arrayet med navnet myarray på konsollen.
- Afslutter for loop og
Deltagefunktionen
Tilslutningsfunktionen hjælper os med at slutte flere arrays til en enkelt streng. Følgende eksempel viser dette:
Trin 1) Start med at oprette en ny konsolapplikation.
Trin 2) Tilføj følgende kode til applikationen:
Module Module1Sub Main()Dim students(0 To 2) As Stringstudents(0) = "John"students(1) = "Alice"students(2) = "Antony"Dim classmates As Stringclassmates = Join(students, ", ")Console.WriteLine(classmates)Console.ReadKey()End SubEnd Module
Trin 3) Kør koden ved at klikke på Start-knappen på værktøjslinjen:
Vi har brugt følgende kode:
Forklaring af kode:
- Oprettelse af et modul med navnet Module1.
- Oprettelse af den primære underprocedure.
- Oprettelse af et array, der hedder studerende, der skal indeholde 3 strengværdier.
- Tilføjelse af navnet John til matrixens indeks 0.
- Tilføjelse af navnet Alice til matrixens indeks 1.
- Tilføjelse af navnet Antony til matrixens indeks 2.
- Definition af en variabel, der hedder klassekammerater af strengdatatype.
- Forbinde alle elementerne i matrixstuderende og adskille dem ved hjælp af a, (komma). Resultatet af denne operation tildeles de variable klassekammerater.
- Udskrivning af indholdet af klassekammeratvariablen på konsollen.
- Sætter konsolvinduet på pause og venter på, at brugeren griber ind for at lukke det.
- Afslutning af hovedunderproceduren.
- Afslutning af modulet.
Resumé
- Arrays bruges til lagring af dataelementer, der hører til den 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 føje elementer til et eksisterende array
- Størrelsen på et array med fast størrelse kan ikke ændres.
- Matrixelementerne 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 arrayelementer.
- Arrays kan slettes ved hjælp af Slet-funktionen
- Du kan bruge split- og joinfunktioner til at opdele eller deltage i henholdsvis et strengarray