Manuale VB.Net

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

Molto spesso, quando scriviamo del codice, vogliamo poter eseguire uno stesso blocco di codice un certo numero di volte. In questi casi si possono utilizzare le istruzioni di loop (ciclo). In Visual Basic .Net abbiamo le seguenti sette istruzioni di ciclo:

  • While
  • Do While..Loop
  • Do Until...Loop
  • Do..Loop While
  • Do.. Loop Until
  • For..Next
  • For Each..Next

Esiste infine una serie di comandi Exit che consentono di uscire dai cicli.

  • Exit While
  • Exit Do
  • Exit For

While

Consente di eseguire un’azione finché una condizione è vera

Sintassi

While (condizione)
      azioni
    End While

Esempio

L’esempio in basso consente di trovare la più piccola potenza di 3 maggiore di 100, il ciclo while permette di effettuare il prodotto per 3 finchè il risultato non supera 100.

Module modPotenza
        Sub Main()
           Dim prodotto As Integer = 3
           While ( prodotto <= 100 )
              Console.writeLine("Prodotto: " & prodotto)
              Prodotto = prodotto*3
           End While
           Console.Writeline("La più piccola potenza di 3 maggiore di 100 è: " & prodotto)
        End Sub
    End Module

Do While..Loop

Funziona come il while, la sintassi è la seguente:

Do While (condizione)
        Azioni
      Loop

Do Until...Loop

Le azioni del ciclo vengono eseguite finché la condizione resta falsa. Rivediamo l’esempio

Module modPotenza
        Sub Main()
          Dim prodotto As Integer = 3
          Do Until ( prodotto > 100 )
            Console.writeLine("Prodotto: " & prodotto)
            Prodotto = prodotto*3
          Loop
          Console.Writeline("La più piccola potenza di 3 maggiore di 100 è: " & prodotto)
        End Sub
    End Module

Do..Loop While

La condizione viene verificata a fine ciclo, per cui siamo sicuri che il ciclo sarà eseguito almeno una volta.

Esempio

Module modDoWhile
        Sub Main()
           Dim contatore As Integer = 1
           Do
              Console.writeLine("Contatore: " & contatore)
              contatore += 1
           Loop While contatore <= 5
        End Sub
    End Module

Do.. Loop Until

La condizione è verificata a fine ciclo, e le azioni del ciclo vengono eseguite finché la condizione resta falsa.

Esempio

Module modDoUntil
        Sub Main()
           Dim contatore As Integer = 1
           Do
              Console.writeLine("Contatore: " & contatore)
              contatore += 1
           Loop Until contatore <= 5
        End Sub
    End Module

For..Next

Gestisce un’iterazione controllata da contatore. Usato quando conosciamo a priori il numero di iterazioni che andremo ad eseguire

Sintassi

For contatore = valoreIniziale To valoreFinale [Step incremento]
        Azioni
      Next

Esempio

Module modContare
        Sub Main()
           Dim i As Integer
           For i = 1 To 30 Step 3
              Console.WriteLine("i = " & i)
           Next
      End Sub
    End Module

La parola chiave Step, può essere un intero (positivo o negativo) e rappresenta il valore di incremento della variabile di controllo del ciclo. Se omessa vale 1. 1 e 30 sono il valore iniziale e finale, e possono anche essere delle espressioni.

For Each.. Next

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

Sintassi

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

Exit

I comandi

  • Exit While
  • Exit Do
  • Exit For

Provocano l’uscita immediata dai rispettivi cicli.

Esempio

Module modTestExit
      Sub Main()
        Dim output As String = "" 
        Dim contatore As Integer
        For contatore = 1 To 10
          If contatore = 5 Then
            Exit For
          End If
        Next
        Console.WriteLine("Uscito da for: contatore = " & contatore)
        Do Until contatore > 10
          If contatore = 8 Then
            Exit Do
            Contatore += 1
        Loop
        Console.WriteLine("Uscito da do: contatore = " & contatore)
      End Sub
    End Module

Controllare l'uscita da un ciclo

Abbiamo due modi per controllare l’uscita de dei cicli:

  • mediante contatore
  • tramite un valore detto "sentinella"

Un contatore è una variabile che viene incrementate ad ogni iterazione e che quando raggiunge un determinato valore provoca l’uscita dal ciclo.
Un valore sentinella è una variabile, che serve da controllo per la terminazione del ciclo. Viene utilizzata quando non si conosce a priori il numero di iterazione che si dovranno effettuare.
Vediamo due esempi: nel primo calcoliamo la media di 5 numeri inseriti, e controlliamo l’iterazione mediante un contatore; nel secondo invece calcoliamo la media di un numero variabile di valori, che verranno inseriti finché non si digita -1 per uscire.

Con Contatore

Module calcolaMedia
      Sub Main()
        Dim Totale As Integer = 0
        Dim contatore As Integer = 1
        Do While (contatore <= 5)
          Console.Write("Numero: ")
          Numero = Console.ReadLine()
          Totale += numero
        Loop
        Console.WriteLine("La media è: " & Totale/5)
      End Sub
    End Module

Con valore sentinella

Module calcolaMedia
      Sub Main()
        Dim Totale As Integer = 0
        Dim contatore As Integer = 0
        Dim media As Integer
        Console.Write("Digita -1 per uscire")
        Totale = numero
        Do While (numero <> -1)
          Console.Write("Numero: ")
          Numero = Console.ReadLine()
          Totale += numero
          contatore += 1
        Loop
        If (contatore <> 1) Then
          Console.WriteLine("La media è: " & Totale / (contatore - 1) )
        Else
          Console.WriteLine("Non hai inserito nessun valore")
        End If
      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.