VB 2010: continuazione implicita di linea

Una delle caratteristiche più amate-odiate dai programmatori VB è il carattere underscore ("_"), cioè il carattere che permette di andare a capo in una istruzione. Per esempio:

Visual Basic
  1.     Dim lungaStringaDiTesto As String = _
  2.       "Questa e' una lunga stringa di testo, " & _
  3.       "cosi' lunga che non ci sta in una sola " & _
  4.       "riga. Se voglio mantenere una buona " & _
  5.       "leggibilita' devo andare a capo spesso " & _
  6.       "e devo utilizzare l'underscore."

 

Finalmente possiamo tralasciare questo carattere e scrivere codice come questo (speriamo che prima o poi si possa tralasciare anche il carattere &):

Visual Basic
  1.     Dim lungaStringaDiTesto As String =
  2.       "Questa e' una lunga stringa di testo, " &
  3.       "cosi' lunga che non ci sta in una sola " &
  4.       "riga. Se voglio mantenere una buona " &
  5.       "leggibilita' devo andare a capo spesso " &
  6.       "e posso NON utilizzare l'underscore."

 

oppure come questo:

Visual Basic
  1.     Dim linguaggi As New List(Of String) From
  2.     {
  3.       "Visual Basic",
  4.       "C#",
  5.       "C++",
  6.       "F#"
  7.     }

 

Esistono alcune eccezioni: una di queste riguarda la parola riservata Handles, come nel seguente esempio.

Visual Basic
  1.   ' cosi' funziona:
  2.   Private Sub Form1_Load(
  3.     ByVal sender As System.Object,
  4.     ByVal e As System.EventArgs) _
  5.     Handles MyBase.Load
  6.   End Sub
  7.  
  8.   ' cosi' NON funziona:
  9.   Private Sub Form2_Load(
  10.   ByVal sender As System.Object,
  11.   ByVal e As System.EventArgs)
  12.     Handles MyBase.Load
  13.   End Sub

 

L’utilità di questa modifica diventa molto più evidente nelle query LINQ o in istruzioni LINQ to XML:

Visual Basic
  1.     ' query LINQ:
  2.     Dim query =
  3.         From proc In Process.GetProcesses.AsEnumerable()
  4.         Where (proc.ProcessName.StartsWith("SQL"))
  5.     Select proc
  6.  
  7.     ' LINQ to XML:
  8.     Dim doc =
  9.     <?xml version="1.0"?>
  10.     <Processes>
  11.       <%= From proc In query
  12.         Select
  13.         <Process>
  14.           <Name <%= proc.ProcessName %>/>
  15.         </Process>
  16.       %>
  17.     </Processes>

 

Nel primo caso c’è una forte somiglianza con una normale istruzione SQL, nel secondo caso si ottiene una leggibilità del codice senza precedenti.

Pubblicato il 26 giugno 2011 su Novità. Aggiungi ai preferiti il collegamento . Lascia un commento.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: