Morpheusweb.it - Risorse per webmaster: script, ASP.NET, C#, Visual Basic .Net, tutorial, asp, javascript, css, php, html, java, ADO, VBScript, forms, frames, Active Server Pages, Dynamic HTML, database, gratis per webmaster e webdesigner

Gli Array in Visual Basic .Net

Array


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}
    'Simulo il lancio dei dadi
    For i = 1 To numeroLanci
      j = myRandom.Next(0, arrDado.Length)
      arrDado(j) += 1
    Next
    'stampo i risultati
    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}
    'effettuo il bubble sort
    BubbleSort.DoBubbleSort(arrayDaOrdinare)
    'stampo l'array ordinato
    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)
    'scambio i valori
    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



Stampa la pagina


 

Inizio pagina

risorse per webmaster

vb.net


corso manuale istruzioni manuali programmazione net usare tutorial vb dot dotnet tutorial vb net dataset vbnet guida guida vb net in vb net tutorial manuale vb net vb net tutorial visual basic asp net vb net code c# c# vb net vb vb net database vb net vb net array download vb net vb net pdf tutorial vb net data vb net report vb net excel vb net vb net sample vb net project visualbasic vb net mysql datagrid vb net asp net vb vb net application vb net xml web vb net vb net asp net vb net source component vb net vb net listview string vb net visualbasic net vb net dll vb net email microsoft vb net sql vb net timer vb net vb net help vb net ftp vbnet vb net server directory vb net file vb net forum vb net vb net db format vb net line vb net classe vb net client vb net datareader vb net date in vb net directshow vb net ftp vb net global variable vb net interface vb net listview vb net manuale vb net mysql vb net rete vb net split vb net using vb net vb net collections vb net contextmenu vb net databinding vb net datagrid vb net download vb net excel vb net pop vb net standard vb net string vb net text vb net tutorial vb net write windows form vb net microsoft visual basic net visual basic dot net visual basic net datagrid net visual basic visual basic net 2003 microsoft vb net code visual basic net visual basic net standard visual basic net download microsoft visual basic net 2003 visual basic net tutorial net visual basic sample visual basic vb net visual basic net access visual basic net source visual basic c# visual basic net example visual basic 6 net database visual basic net microsoft visual basic net standard visual basic net ado programming microsoft visual basic net visual basic net crystal report visual basic net treeview visual basic net array a visual basic net ado net visual basic api visual basic net con visual basic net database in visual basic net download visual basic net file visual basic net files visual basic net in visual basic net manuale visual basic net of visual basic net treeview visual basic net tutorial visual basic net visual basic dotnet visual basic net visual basic net 2005 visual basic net crystal visual basic net database visual basic net open visual basic net resource visual basic net resource kit visual basic net user with visual basic net

visual basic .net


ASP.NET, guida, Tutorial,




Vai nel sito Morpheusweb.it - Risorse per Webmaster
asp.net, vb.net, dotnet

Vai nel sito Morpheusweb.it - Risorse per Webmaster
asp, ASP.NET

Morpheusweb.it - corso vb net, manuale vb net, istruzioni vb net, manuali vb net, programmazione vb net, net, usare vb, tutorial , vbnet, dot, dotnet, tutorial vb net, dataset, guida, guida vb net, manuale vb, vb net tutorial, visual basic, asp net, vb net code, vb, vb net, database vb net, vb net array, data vb net, excel vb net, vb net sample, vb net project, visualbasic, vb net mysql, datagrid vb net, asp net vb, vb net application, vb net xml, web vb net, vb net asp net, vb net listview, string vb net, visualbasic net, vb net dll, vb net email, sql vb net, directory vb net, file vb net, vb net db, datareader vb net, date in vb net, mysql vb net, using vb net, vb net collections, vb net databinding, vb net datagrid, vb net excel, microsoft visual basic net, visual basic dot net, visual basic net datagrid, microsoft vb net, programming microsoft visual basic net, ado net visual basic, con visual basic net, file visual basic net, manuale visual basic net, tutorial visual basic net, visual basic dotnet, visual basic net