Array VB.Net: stringhe, dinamiche con ESEMPI

Che cos'è un array?

Un array è una struttura dati utilizzata per memorizzare elementi dello stesso tipo di dati. Gli elementi sono ordinati in sequenza con il primo elemento all'indice 0 e l'ultimo elemento all'indice n-1, dove n è il numero totale di elementi nell'array.

Come dichiarare e inizializzare un array

In VB.NET, gli array vengono dichiarati utilizzando l'istruzione Dim. Per esempio:

Dim myData() As Integer

Nell'esempio precedente, abbiamo definito un array denominato myData, che dovrebbe contenere elementi del tipo di dati intero. L'esempio seguente dimostra come possiamo dichiarare un array per contenere elementi stringa:

Dim myData(10) As String

Abbiamo definito un array denominato myData per contenere 10 stringhe.

Possiamo inizializzare gli array al momento della loro dichiarazione. Per esempio:

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

Abbiamo dichiarato l'array myData e vi abbiamo aggiunto 6 elementi interi. Questo può essere fatto anche per il caso delle stringhe:

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

Abbiamo creato un array denominato studenti e vi abbiamo aggiunto 5 nomi.

Array a dimensione fissa

Un array di dimensione fissa contiene un numero fisso di elementi. Ciò significa che è necessario definire il numero di elementi che conterrà durante la sua definizione. Supponiamo che tu abbia bisogno di un array per contenere solo 3 nomi di studenti. È possibile definire e inizializzare l'array come segue:

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

Abbiamo iniziato dichiarando un array di stringhe denominato students. 0 to 2 dichiara che l'array memorizzerà gli elementi dal suo indice 0 all'indice 2, il che significa che avremo 3 elementi in totale.

Per aggiungere elementi all'array, abbiamo utilizzato il nome dell'array e specificato l'indice in cui verrà archiviato l'elemento. Ad esempio, il nome John verrà memorizzato nell'indice 0 dell'array, il che significa che costituirà il primo elemento dell'array. Antony sarà l'ultimo elemento della schiera.

Array dinamici

Questo è un array che può contenere un numero qualsiasi di elementi. La dimensione dell'array può aumentare in qualsiasi momento. Ciò significa che possiamo aggiungere nuovi elementi all'array ogni volta che vogliamo. Per dimostrarlo, definiamo prima un array di numeri interi:

Dim nums() As Integer

Abbiamo definito un array di numeri interi denominato nums. Ora devi aggiungere due elementi all'array, lasciando spazio per ridimensionarlo. È necessario utilizzare l'istruzione ReDim come segue:

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

Il nostro array ora ha due elementi negli indici 0 e 1. Dobbiamo aggiungere un terzo elemento all'indice 3 preservando i due elementi che già possiede. Possiamo farlo come segue:

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

L'array ora ha tre elementi.

Recupero del contenuto di un array

Recuperare significa accedere agli elementi dell'array. Per accedere a un elemento dell'array, utilizziamo il suo indice. Dimostriamolo utilizzando un esempio.

Passo 1) Inizia creando una nuova applicazione console.

Passo 2) Aggiungere il seguente codice all'applicazione:

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

Passo 3) Esegui il codice cliccando sul pulsante Start dalla barra degli strumenti. Otterrai la seguente finestra:

Recupero del contenuto di un array

Abbiamo utilizzato il seguente codice:

Recupero del contenuto di un array

Spiegazione del codice:

  1. Creazione di un modulo denominato Modulo1.
  2. Creazione della sottoprocedura principale.
  3. Creazione di un array denominato students per memorizzare elementi stringa. L'array memorizzerà gli elementi dall'indice 0 all'indice 2, il che significa che avrà un totale di 3 elementi.
  4. Aggiungendo il nome John come primo elemento dell'array, ovvero John memorizzato nell'indice 0.
  5. Aggiungendo il nome Alice come secondo elemento dell'array, ovvero Alice memorizzata nell'indice 1.
  6. Aggiungendo il nome Antony come terzo elemento dell'array, ovvero Antony memorizzato nell'indice 2.
  7. Stampa del testo e dell'elemento memorizzato nell'indice 0 dell'array students sulla console. Students(0) ci aiuta ad accedere all'elemento all'indice 0 dell'array denominato students.
  8. Stampa del testo e dell'elemento memorizzato nell'indice 1 dell'array students sulla console. Students(1) ci aiuta ad accedere all'elemento all'indice 1 dell'array denominato students.
  9. Stampa del testo e dell'elemento memorizzato nell'indice 2 dell'array students sulla console. Students(2) ci aiuta ad accedere all'elemento all'indice 2 dell'array denominato students.
  10. Messa in pausa della finestra della console in attesa che l'utente intraprenda un'azione per chiuderla.
  11. Fine della sottoprocedura.
  12. Fine del modulo.

Aggiunta di nuovi elementi a un array

Ciò accadrà solo se hai un array dinamico. Se hai dichiarato un array dimensionale di dimensione fissa ed è pieno di elementi array, non puoi aggiungervi nuovi elementi. Il seguente esempio dimostra come aggiungere nuovi elementi a un array dinamico:

Passo 1) Inizia creando una nuova applicazione console.

Passo 2) Aggiungere il seguente codice all'applicazione:

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

Passo 3) Fai clic sul pulsante Start dalla barra degli strumenti per eseguire il codice. Dovresti ottenere la seguente finestra:

Aggiunta di nuovi elementi a un array

Abbiamo utilizzato il seguente codice:

Aggiunta di nuovi elementi a un array

Spiegazione del codice:

  1. Creazione di un modulo denominato Modulo1.
  2. Creazione della sottoprocedura principale.
  3. Creazione di un array denominato nums per contenere valori interi.
  4. Specificando che l'array soprastante memorizzerà due elementi, ovvero agli indici 0 e 1, lasciando spazio per il ridimensionamento.
  5. Aggiungendo l'elemento 12 all'indice 0 dell'array nums.
  6. Aggiungendo l'elemento 23 all'indice 1 dell'array nums.
  7. Utilizzando un ciclo for per creare una variabile x per aiutarci a scorrere dal primo all'ultimo elemento dell'array nums. Nota che l'array ora ha due elementi, 12 e 23.
  8. Stampa del testo e degli elementi dell'array sulla console.
  9. Fine del ciclo for e passaggio alla parte successiva del codice.
  10. Ridimensiona i numeri dell'array per consentire elementi agli indici da 0 a 2. Ora sarà in grado di memorizzare 3 elementi anziché 2. La parola chiave Preserve ci aiuta a mantenere gli elementi correnti dell'array, ovvero 12 e 23.
  11. Aggiungendo l'elemento 35 all'indice 2 dell'array. L'array ora ha tre elementi, 12, 23 e 35.
  12. Utilizzando un ciclo for per creare una variabile x per aiutarci a scorrere dal primo all'ultimo elemento dell'array nums. Nota che l'array ora ha tre elementi, 12, 23 e 35.
  13. Stampa del testo e degli elementi dell'array sulla console.
  14. Fine del ciclo for e passaggio alla parte successiva del codice.
  15. Metti in pausa la finestra della console in attesa che l'utente effettui un'azione per chiuderla.
  16. Fine della sottoprocedura.
  17. Fine del modulo.

Eliminazione di un array

Si consiglia di cancellare l'array una volta terminato, soprattutto quando si ha a che fare con un array dinamico. Questo ti aiuterà a liberare spazio nella memoria.

Per eliminare un array è sufficiente chiamare l'istruzione Erase seguita dal nome dell'array. Per esempio:

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

Abbiamo dichiarato un array di numeri interi denominato nums e vi abbiamo aggiunto due elementi. L'istruzione Erase nums cancellerà l'array.

La funzione di divisione

La funzione split fornita da Visual Basic .NET ci aiuta a dividere una stringa in parti e a conservarle in un array. Il seguente esempio dimostra come usare questa funzione:

Passo 1) Creare una nuova applicazione console.

Passo 2) Aggiungere il seguente codice all'applicazione:

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

Passo 3) Esegui il codice cliccando sul pulsante Start dalla barra degli strumenti. Dovresti ottenere la seguente finestra:

La funzione di divisione

Abbiamo utilizzato il seguente codice:

La funzione di divisione

Spiegazione del codice:

  1. Creazione di un modulo denominato Modulo1.
  2. Avvio della sottoprocedura principale.
  3. Creazione di un array denominato myarray per contenere valori stringa.
  4. Creazione di una variabile stringa denominata guru99.
  5. Creazione di una variabile intera denominata x.
  6. Assegnando una stringa alla variabile guru99.
  7. Dividere la stringa sopra in parti e inserirle nell'array denominato myarray. Il “,” (virgola) è il delimitatore, quindi la funzione split lo utilizzerà per contrassegnare la fine delle varie parti della String.
  8. Utilizzando la variabile x per scorrere l'array denominato myarray. LBound e UBound specificano rispettivamente i limiti inferiori e superiori dell'array.
  9. Stampa dei valori dell'array denominato myarray sulla console.
  10. Fine del ciclo for e

La funzione Unisci

La funzione join ci aiuta a unire più array in una singola stringa. Il seguente esempio lo dimostra:

Passo 1) Inizia creando una nuova applicazione console.

Passo 2) Aggiungere il seguente codice all'applicazione:

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

Passo 3) Esegui il codice facendo clic sul pulsante Start sulla barra degli strumenti:

La funzione Unisci

Abbiamo utilizzato il seguente codice:

La funzione Unisci

Spiegazione del codice:

  1. Creazione di un modulo denominato Modulo1.
  2. Creazione della sottoprocedura principale.
  3. Creazione di un array denominato students per contenere 3 valori stringa.
  4. Aggiungendo il nome John all'indice 0 dell'array.
  5. Aggiungendo il nome Alice all'indice 1 dell'array.
  6. Aggiungendo il nome Antony all'indice 2 dell'array.
  7. Definizione di una variabile denominata compagni di classe di tipo dati stringa.
  8. Unire tutti gli elementi dell'array students e separarli utilizzando una , (virgola). Il risultato di questa operazione verrà assegnato alla variabile compagni di classe.
  9. Stampare il contenuto della variabile classmates sulla console.
  10. Messa in pausa della finestra della console in attesa che l'utente intervenga per chiuderla.
  11. Conclusione della sottoprocedura principale.
  12. Conclusione del modulo.

Sommario

  • Gli array vengono utilizzati per memorizzare elementi di dati che appartengono agli stessi tipo di dati.
  • Un array dinamico consente all'utente di ridimensionarlo aggiungendovi più elementi. Tu usi il comando ReDim per aggiungere elementi a un array esistente
  • La dimensione di una matrice a dimensione fissa non può essere modificata.
  • Gli elementi dell'array vengono ordinati utilizzando gli indici, con il primo elemento nell'indice 0 e l'ultimo elemento nell'indice n-1, dove n è il numero totale di elementi dell'array.
  • Gli array possono essere eliminati utilizzando la funzione Cancella
  • È possibile utilizzare le funzioni di divisione e unione rispettivamente per dividere o unire un array di stringhe