VB.Net tömbök: karakterlánc, dinamikus PÉLDÁVAL

Mi az a tömb?

A tömb egy adatstruktúra, amely azonos adattípusú elemek tárolására szolgál. Az elemek sorba vannak rendezve, az első elem a 0, az utolsó elem pedig az n-1 indexnél, ahol n a tömb elemeinek teljes száma.

Hogyan deklaráljunk és inicializáljunk egy tömböt

In VB.NET, a tömbök a Dim utasítással vannak deklarálva. Például:

Dim myData() As Integer

A fenti példában definiáltunk egy myData nevű tömböt, amelynek egész adattípusú elemeket kell tartalmaznia. A következő példa bemutatja, hogyan deklarálhatunk egy tömböt karakterláncelemek tárolására:

Dim myData(10) As String

Meghatároztunk egy myData nevű tömböt, amely 10 karakterláncot tartalmaz.

A tömböket deklarálásuk időpontjában inicializálhatjuk. Például:

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

Deklaráltuk a myData tömböt, és hozzáadtunk 6 egész elemet. Ez a karakterláncok esetében is megtehető:

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

Létrehoztunk egy tanuló nevű tömböt, és 5 nevet adtunk hozzá.

Fix méretű tömbök

Egy rögzített méretű tömb meghatározott számú elemet tartalmaz. Ez azt jelenti, hogy meg kell határoznia azon elemek számát, amelyeket a definíció során tárolni fog. Tegyük fel, hogy szükségünk van egy tömbre, amely csak 3 tanuló nevét tartalmazza. A tömböt a következőképpen határozhatja meg és inicializálhatja:

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

Egy tanuló nevű karakterlánc tömb deklarálásával kezdtük. A 0-tól 2-ig azt jelenti, hogy a tömb a 0-tól a 2-es indexig tárol elemeket, vagyis összesen 3 elemünk lesz.

Ahhoz, hogy elemeket adjunk a tömbhöz, a tömb nevét használtuk, és megadtuk azt az indexet, amelyen az elem tárolva lesz. Például a János név a tömb 0 indexén lesz tárolva, ami azt jelenti, hogy ez lesz a tömb első eleme. Antony lesz a tömb utolsó eleme.

Dinamikus tömbök

Ez egy tömb, amely tetszőleges számú elemet tartalmazhat. A tömb mérete bármikor növekedhet. Ez azt jelenti, hogy bármikor hozzáadhat új elemeket a tömbhöz. Ennek demonstrálásához először definiáljunk egy egész számok tömbjét:

Dim nums() As Integer

Meghatároztunk egy nums nevű egész tömböt. Most két elemet kell hozzáadnia a tömbhöz, miközben teret ad az átméretezésnek. A ReDim utasítást a következőképpen kell használnia:

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

A tömbünkben most két elem van a 0 és az 1 indexben. A 3. indexhez hozzá kell adnunk egy harmadik elemet, miközben megőrzi a már meglévő két elemet. A következőképpen tehetjük meg:

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

A tömb most három elemből áll.

Egy tömb tartalmának lekérése

A visszakeresés a tömb elemeinek elérését jelenti. Egy tömbelem eléréséhez az indexét használjuk. Mutassuk meg ezt egy példa segítségével.

Step 1) Kezdje egy új konzolalkalmazás létrehozásával.

Step 2) Adja hozzá a következő kódot az alkalmazáshoz:

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

Step 3) Futtassa a kódot az eszköztár Start gombjára kattintva. A következő ablakot kapja:

Egy tömb tartalmának lekérése

A következő kódot használtuk:

Egy tömb tartalmának lekérése

Magyarázat Code:

  1. Modul1 nevű modul létrehozása.
  2. A fő aleljárás elkészítése.
  3. Tanulók nevű tömb létrehozása karakterlánc-elemek tárolására. A tömb 0-tól 2-es indexig tárol elemeket, ami azt jelenti, hogy összesen 3 eleme lesz.
  4. A János név hozzáadása a tömb első elemeként, azaz a 0 indexen tárolt János.
  5. Az Alice név hozzáadása a tömb második elemeként, vagyis az 1-es indexen tárolt Alice.
  6. A tömb harmadik elemeként hozzáadva az Antony nevet, vagyis a 2-es indexen tárolt Antony-t.
  7. Néhány szöveg és a tömbtanulók 0. indexén tárolt elem kinyomtatása a konzolon. A students(0) segít elérni a tanuló nevű tömb 0 indexénél lévő elemet.
  8. Néhány szöveg és a tömbtanulók 1. indexén tárolt elem kinyomtatása a konzolon. A students(1) segít elérni a tanuló nevű tömb 1 indexénél lévő elemet.
  9. Néhány szöveg és a tömbtanulók 2. indexén tárolt elem kinyomtatása a konzolon. A students(2) segít elérni a tanuló nevű tömb 2 indexénél lévő elemet.
  10. A konzolablak szüneteltetése, vagy a felhasználó beavatkozása a bezáráshoz.
  11. Az aleljárás vége.
  12. A modul vége.

Új elemek hozzáadása egy tömbhöz

Ez csak akkor történik meg, ha dinamikus tömbje van. Ha deklaráltunk egy rögzített méretű tömböt, és az tele van tömbelemekkel, akkor nem adhat hozzá új elemeket. A következő példa bemutatja, hogyan lehet új elemeket hozzáadni egy dinamikus tömbhöz:

Step 1) Kezdje egy új konzolalkalmazás létrehozásával.

Step 2) Adja hozzá a következő kódot az alkalmazáshoz:

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

Step 3) Kattintson a Start gombra az eszköztáron a kód futtatásához. A következő ablakot kell kapnia:

Új elemek hozzáadása egy tömbhöz

A következő kódot használtuk:

Új elemek hozzáadása egy tömbhöz

Magyarázat Code:

  1. Modul1 nevű modul létrehozása.
  2. A fő aleljárás elkészítése.
  3. Nums nevű tömb létrehozása egész értékek tárolására.
  4. Annak megadása, hogy a fenti tömb két elemet fog tárolni, azaz a 0 és 1 indexen, miközben teret enged az átméretezésnek.
  5. A 12 elem hozzáadása a tömbszámok 0 indexéhez.
  6. A 23 elem hozzáadása a tömbszámok 1 indexéhez.
  7. A for ciklus használatával hozzunk létre egy x változót, hogy segítsünk az iterációban a tömb első elemétől az utolsóig. Vegye figyelembe, hogy a tömbnek most két eleme van, a 12 és a 23.
  8. Néhány szöveg és a tömb elemeinek kinyomtatása a konzolon.
  9. A for ciklus befejezése és ugrásping a kód következő részéhez.
  10. Módosítsa át a tömb számát, hogy engedélyezze a 0-tól 2-ig terjedő indexű elemeket. Mostantól 3 elemet tud majd tárolni 2 helyett. A Megőrzés kulcsszó segít a tömb aktuális elemeinek, azaz a 12-es és a 23-as elemeinek megőrzésében.
  11. A 35. elem hozzáadása a tömb 2. indexéhez. A tömb most három elemből áll, 12, 23 és 35.
  12. A for ciklus használatával hozzunk létre egy x változót, hogy segítsünk az iterációban a tömb első elemétől az utolsóig. Vegye figyelembe, hogy a tömb most három elemből áll, 12, 23 és 35.
  13. Néhány szöveg és a tömb elemeinek kinyomtatása a konzolon.
  14. A for ciklus befejezése és ugrásping a kód következő részéhez.
  15. Szüneteltesse meg a konzol ablakát, várja meg, amíg a felhasználó bezárja a műveletet.
  16. Az aleljárás vége.
  17. A modul vége.

Egy tömb törlése

Javasoljuk, hogy törölje a tömböt, miután végzett vele, főleg ha dinamikus tömböt használ. Ez segít némi memóriahely felszabadításában.

Egy tömb törléséhez csak meg kell hívnia az Erase utasítást, majd a tömb nevét. Például:

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

Deklaráltunk egy nums nevű egész számok tömbjét, és két elemet adtunk hozzá. Az Erase nums utasítás törli a tömböt.

Az osztott funkció

A Visual Basic .NET által biztosított felosztási funkció segít nekünk egy karakterláncot részekre bontani és tömbben tartani. A következő példa bemutatja a funkció használatát:

Step 1) Hozzon létre egy új konzolalkalmazást.

Step 2) Adja hozzá a következő kódot az alkalmazáshoz:

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

Step 3) Futtassa a kódot az eszköztár Start gombjára kattintva. A következő ablakot kell kapnia:

Az osztott funkció

A következő kódot használtuk:

Az osztott funkció

Magyarázat Code:

  1. Modul1 nevű modul létrehozása.
  2. A fő aleljárás indítása.
  3. Myarray nevű tömb létrehozása karakterlánc-értékek tárolására.
  4. Guru99 nevű karakterlánc-változó létrehozása.
  5. Egy x nevű egész változó létrehozása.
  6. Karakterlánc hozzárendelése a guru99 változóhoz.
  7. A fenti String részekre bontása és a myarray nevű tömbbe való elhelyezése. A "," (vessző) a határoló, ezért a split függvény ezt fogja használni a karakterlánc különböző részeinek végének jelölésére.
  8. Az x változó használata a myarray nevű tömb iterálásához. Az LBound és az UBound határozza meg a tömb alsó, illetve felső határát.
  9. A myarray nevű tömb értékeinek kinyomtatása a konzolon.
  10. A for ciklus befejezése és

Az összekapcsolási funkció

A join funkció segít több tömböt egyetlen karakterláncba egyesíteni. A következő példa ezt szemlélteti:

Step 1) Kezdje egy új konzolalkalmazás létrehozásával.

Step 2) Adja hozzá a következő kódot az alkalmazáshoz:

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

Step 3) Futtassa a kódot az eszköztár Start gombjára kattintva:

Az összekapcsolási funkció

A következő kódot használtuk:

Az összekapcsolási funkció

Magyarázat Code:

  1. Modul1 nevű modul létrehozása.
  2. A fő aleljárás elkészítése.
  3. Tanulók nevű tömb létrehozása 3 karakterlánc érték tárolására.
  4. A János név hozzáadása a tömb 0 indexéhez.
  5. Az Alice név hozzáadása a tömb 1. indexéhez.
  6. Az Antony név hozzáadása a tömb 2. indexéhez.
  7. A karakterlánc adattípusú osztálytársak nevű változó meghatározása.
  8. A tömb tanulóinak összes elemének összekapcsolása és elválasztása , (vessző) segítségével. A művelet eredménye az osztálytársak változóhoz lesz hozzárendelve.
  9. Az osztálytársak változó tartalmának kinyomtatása a konzolon.
  10. A konzolablak szüneteltetése arra várva, hogy a felhasználó bezárja a műveletet.
  11. A fő aleljárás befejezése.
  12. A modul befejezése.

Összegzésként

  • A tömbök az azonoshoz tartozó adatelemek tárolására szolgálnak adattípus.
  • A dinamikus tömb lehetővé teszi a felhasználó számára, hogy több elem hozzáadásával átméretezze azt. Használja a parancsot ReDim elemek hozzáadásához egy meglévő tömbhöz
  • A rögzített méretű tömb mérete nem módosítható.
  • A tömbelemek sorrendje indexek segítségével történik, az első elem a 0, az utolsó elem az n-1 index, ahol n a tömbelemek teljes száma.
  • A tömbök az Erase funkcióval törölhetők
  • A split és join függvények segítségével feloszthat vagy összekapcsolhat egy karakterlánctömböt

Foglald össze ezt a bejegyzést a következőképpen: