Manuale VB.Net

Follow on Facebook  Share on Twitter  Share on Google  Share on Linkedin  Share on Blogger  Share on Flipboard  Share on Tumblr 

Gli array sono usati per memorizzare un set di valori dello stesso tipo, in una sola variabile.
Per dichiarare un array utilizziamo la sintassi:

Dim variabileArray As tipoDato()

Le parentesi tonde dopo il tipo di dato indicano che stiamo dichiarando un array.
All'atto della dichiarazione non abbiamo ancora allocato lo spazio di memoria necessario per memorizzare l'array, per farlo utilizziamo la parola chiave New, come nell'esempio

myArray = New Integer(10){}

L'operazione è detta allocazione. Il numero tra parentesi indica quanti elementi può contenere l'array, ovvero la sua dimensione. Le parentesi graffe sono la lista di inizializzazione dell'array, cioè i di base valori degli elementi, sono obbligatorie anche se non contengono valori.

Ecco un esempio di array inizializzato:

myArray = New Integer(10){1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

Infine possiamo far riferimento ad un elemento dell'array indicandone l'indice tra parentesi tonde. Da notare che l'indice del primo elemento è 0., mentre l'elemento i-esimo ha comen indice (i-1)

Dim ilQuintoElemento As Integer
ilQuintoElemento = myArray(4)

Vediamo un esempio completo:

Module modArray
    Sub Main()
        Dim i, j As Integer
        Dim numeroLanci As Integer = 56432
        Dim myRandom As Random = New Random()
        Dim arrDado As Integer() = New Integer() {0, 0, 0, 0, 0, 0}
        For i = 1 To numeroLanci
            j = myRandom.Next(0, arrDado.Length)
            arrDado(j) += 1
        Next
        Console.WriteLine("Numero" & vbTab & "Uscito" & vbTab & "Percentuale")
        For i = 1 To arrDado.Length
        	Console.WriteLine(i & vbTab & arrDado(i - 1) & vbTab & FormatNumber(arrDado(i - 1) / numeroLanci * 100, 2) & "%")
        Next
    End Sub
End Module

Ordinare un array

Gli array non hanno dei metodi per l'ordinamento, se è necessario lavorare con degli array ordinati, occorre implementare delle procedure apposta per lo scopo. In questo capitolo presenterò una procedura di ordinamento che in gergo informatico è detta Bubbole Sort, si chiama così perché facciamo in modo che i valori più piccoli (leggeri) salgano man mano in cime all'array, come delle bolle di sapone
Creiamo quindi un modulo BubbleSort che contiene le procedure per l'ordinamento.

Module modArray
    Sub Main()
        Dim i As Integer = 0
        Dim arrayDaOrdinare As Integer() = New Integer() {10, 20, 340, 21, 5, 220, 43, 92, 249, 1000, 12}
        BubbleSort.DoBubbleSort(arrayDaOrdinare)
        For i = 0 To arrayDaOrdinare.GetUpperBound(0)
        	Console.WriteLine(arrayDaOrdinare(i))
        Next
    End Sub
End Module

Module BubbleSort
    Sub DoBubbleSort(ByVal arrayDaOrdinare As Integer())
        Dim i, j As Integer
        For i = 0 To arrayDaOrdinare.GetUpperBound(0)
            For j = 0 To arrayDaOrdinare.GetUpperBound(0) - 1
                If arrayDaOrdinare(j) > arrayDaOrdinare(j + 1) Then
                	scambiaValori(arrayDaOrdinare, j)
            End If
            Next
        Next
	End Sub

Sub scambiaValori(ByVal arrayDaOrdinare As Integer(), ByVal primo As Integer)
    Dim tmp As Integer = arrayDaOrdinare(primo)
    arrayDaOrdinare(primo) = arrayDaOrdinare(primo + 1)
    arrayDaOrdinare(primo + 1) = tmp
End Sub

End Module

Nell'esempio possiamo notare l'utilizzo del metodo GetUpperBound(i) che restituisce il limite superiore della dimensione i-esima dell'array.

Array multidimensionali

In VB.Net abbiamo due tipi di array multidimensionali: rettangolari ed irregolari. Quelli rettangolari sona array in cui tutte le righe hanno la stessa dimensione.

Vediamo come si definiscono

Dim matrice As Integer(,) = New Integer(2, 4){}

Ed ecco un esempio in cui dichiariamo una matrice con degli elementi e poi utilizziamo due cicli For per stamparne gli elementi.

Module modArray
    Sub Main()
        Dim i, j As Integer
        Dim matrice As Integer(,) = New Integer(1, 3) {{1, 2, 4, 5}, {2, 4, 5, 6}}
        For i = 0 To matrice.GetUpperBound(0)
        	For j = 0 To matrice.GetUpperBound(1)
        		Console.WriteLine("Elemento ({0}, {1}) = {2}", i, j, matrice(i, j))
        	Next
        Next
    End Sub
End Module

For Each.. Next

Possiamo utilizzare la struttura For Each.. Next per iterare i valor di una collection

La sintassi è la seguente

For Each variabile In Oggetto
	istruzioni
Next

Vediamo un esempio in cui stampiamo l’elemento più grande di un array

Module modArray
    Sub Main()
    Dim massimo As Integer = 0
    Dim valore As Integer
    Dim myArray As Integer() = New Integer() {2, 4, 5, 6, 43, 432, 3, 94, 2}
    For Each valore In myArray
    	If valore > massimo Then
    		massimo = valore
    	End If
    Next
    Console.WriteLine("Il valore più grande è: " & massimo)
End Sub
End Module

Manuale VB.Net

 

A colpo d'occhio

  • Script C#

    Script C# per tutte le esigenze: database, sessioni, file, contatori, stringhe, date, e-mail, e tanto altro

  • Manuale C#

    Manuale completo di C# per principianti e non

  • Script VB.Net

    Script VB.Net Visual Basic .net: database, sessioni, file, contatori, stringhe, date, e-mail, e tanto altro

  • Manuale SQL

    Manuale di SQL con particolare attenzione a T-SQL di Microsoft SQL Server

  • Seo

    Tecniche di posizionamento indicizzazione e ottimizzazione dei siti web per nei motori di ricerca

  • Manuale CSS

    Manuale completo sui CSS per principianti e non

Be Responsive

HTML 5

HTML 5

HTML 5 è un linguaggio di markup utilizzato per la strutturazione e il contenuto delle pagine Web.

CSS 3

CSS 3

CSS 3 è l'ultima evoluzione dei fogli di stile CSS. Contiene molte novità come angoli arrotondati, ombre, sfumature, transizioni o animazioni.

jQuery

jQuery

jQuery è una libreria JavaScript cross-platform progettata per semplificare lo scripting lato client.