Dans VB.NET, y a-t-il un avantage à utiliser &
pour concaténer des chaînes au lieu de +
?
Par exemple
Dim x as Ssortingng = "hello" + " there"
contre.
Dim x as Ssortingng = "hello" & " there"
Oui, je sais que pour beaucoup de concaténations de chaînes, je voudrais utiliser SsortingngBuilder
, mais c’est plus une question générale.
J’ai entendu de bons arguments forts en faveur des deux opérateurs. L’argument qui gagne le jour dépend en grande partie de votre situation. La seule chose que je puisse dire, c’est que vous devriez normaliser l’un ou l’autre. Le code qui mélange les deux demande de la confusion plus tard.
Les deux arguments dont je me souviens en ce moment pour favoriser &:
Option Ssortingct
et que vous avez deux chaînes numériques, le compilateur peut facilement confondre votre sens de l’opérateur +
avec, vous le savez, l’arithmétique Et pour +:
Micorosoft préfère que les progammateurs VB utilisent & pour les chaînes, PAS +.
Vous pouvez également utiliser l’opérateur + pour concaténer des chaînes. Cependant, pour éliminer toute ambiguïté, vous devez utiliser l’opérateur & plutôt.
Je préfère utiliser &
pour les concaténations de chaînes dans VB.NET
Une des raisons est d’éviter toute confusion, par exemple
MessageBox.Show(1 & 2) ' "12" MessageBox.Show(1 + 2) ' 3
Il est plus sûr d’utiliser et puisque votre intention est claire pour le compilateur (je veux concaténer ces deux valeurs et les convertir en chaînes).
Utiliser + peut rendre difficile la recherche de bogues si les chaînes sont des valeurs numériques, du moins si l’option ssortingct est désactivée.
Par exemple:
1 + "1" = 2 ' this fails if option ssortingct is on 1 & "1" = 11
Edit: cependant, si vous concaténez une non-chaîne, vous devriez probablement utiliser une méthode plus efficace.
Je suppose que c’est historique (utilisations non Visual Basic .NET, pas sûr de savoir pourquoi ils ont introduit le +) et une question de goût (je préfère et parce que nous concaténons des chaînes, nous ne les ajoutons pas …).