|
Site |
Cours VB.net |
|
|
|
Le code est plutôt 'compact'. |
|
|
Comment 'compacter'?
Habituellement on écrit une instruction par ligne:
Mais:
On peut créer une variable et l'initialiser en même temps:
Au lieu de:
Dim s As String
s = "Philippe. Jean . Toto"
On peut écrire:
Dim s As String= "Philippe. Jean . Toto"
Rien n'empêche d'initialiser avec une expression complexe:
Dim t As Single = (3* Int(u))-2)
Autre exemple:
Ici par exemple on découpe la string s en utilisant des séparateurs et on met les noms dans un tableau:
Version non compact:
Dim s As String= "Philippe. Jean . Toto"
Dim sep() As Char={" "c, ","c, "."c}
Dim nom() As String 'Tableau des noms
nom = s.Split ( sep, 100, StringSplitOptions.RemoveEmptyEntries )
Mais on peut compacter le code:
Dim nom() As String = "Philippe. Jean . Toto".Split(New Char() {" "c, ","c, "."c, ":"c}, 100, StringSplitOptions.RemoveEmptyEntries)
On crée la variable nom, on l'initialise en même temps avec une méthode, les paramètres étant directement crées au niveau de l'appel de la méthode.
Même chose avec des fonctions:
Le paramètre d'une fonction peut être le résultat d'une fonction.
Soit une fonction qui se nomme 'Carré' , on peut lui envoyer un paramètre (elle accepte un Single), elle retourne le carré du paramètre:
Function Carré ( v as Single) as Single
Return v*v
End Function
Soit une fonction qui se nomme 'Inverse' , on peut lui envoyer un paramètre (elle accepte un Single), elle retourne le paramètre après avoir inversé le signe:
Function Inverse ( v as Single) as Single
Return -v
End Function
Si on veut prendre le carré de 2 puis l'inverse et enfin la partie entière du résultat:.
Dim resultat As Single
Dim resultatintermediaire1 As Single
Dim resultatintermediaire2 As Single
resultatintermediaire1= Carré(2)
resultatintermediaire2 = Inverse (resultatintermediaire1)
resultat= Int(resultatintermediaire2)
Ou de manière compact:
Dim resultat As Single = Int(Inverse(Carré(2)))
L'écriture compact du code est plus ramassée, moins 'lourde', avec moins
de variables intermédiaires
mais on perd en lisibilité parfois.
Dim resultat As Single = Int(Inverse(Carré(2))) 'Cet exemple est compact mais lisible.
Dim nom() As String = S.Split(New Char() {" "c, ","c, "."c, ":"c}, 100, StringSplitOptions.RemoveEmptyEntries)
'C'est moins lisible
|
|
|
|
|