De tout temps, lorsqu'on voulait écrire du code Visual Basic sur plusieurs lignes, nous étions obligés d'utiliser un "underscore" (_) pour indiquer que l'instruction était éclatée sur plusieurs lignes :

Dim maVariable _
    As Integer _
    = 2

Désormais, le compilateur VB10 n'a plus besoin, dans la plupart des cas, de ce signe. On peut désormais écrire un certain nombre de choses sur plusieurs lignes directement. Voici quelques exemples :

Exemple1 :

<
    MonAttribut1(),
    MonAttribut2(),
    MonAttribut3()
>
Public Sub MaMethode()

End Sub

 

Exemple 2 :

If  1 = 1 And
    2 = 2 And
    3 = 3 Then


End If

 

Exemple 3 :

Dim mesProcesses = From monProcess In Process.GetProcesses()
                   Where monProcess.WorkingSet64 > 10 * 1024 * 1024
                   Order By monProcess.ProcessName Ascending
                   Select monProcess.ProcessName

 

Exemple 4 :

Dim monXML = <Football>
                 <Clubs>
                      <Club nom="OM" ville="Marseille"/>
                 </Clubs>
             </Football>

 

Il y'a encore des cas où le signe _ sera nécessaire comme par exemple :

Public Sub Test()
    End
Sub

 

Dans ce cas, le mot clé End existant déjà en Visual Basic, le compilateur n'a pas de moyen de savoir ce que vous voulez exactement faire. Dans ce cas, voici le message qu'il affichera :

Statement cannot appear within a method body. End of method assumed

Vous serez alors obligé d'utiliser le signe _ pour les cas comme celui-ci.