Quelle est la différence entre VBScript du + et & opérateur?
Sur chaque site qui parle de VBScript, le " &
' opérateur est répertorié comme l'opérateur de concaténation de chaîne. Toutefois, dans certains code que j'ai récemment hérité, je vois le " +
' opérateur utilisé et je ne suis pas le voir de toute les erreurs, comme un résultat de cette. Est-ce une alternative acceptée?
Vous devez vous connecter pour publier un commentaire.
L'opérateur + est surchargé, alors que l & opérateur ne l'est pas. Le & opérateur seulement de concaténation de chaîne. Dans certains milieux, le & opérateur est utilisé comme une bonne pratique car elle est sans ambiguïté, et ne peut donc pas avoir d'effets inattendus, comme un résultat de la surcharge.
The + operator is overloaded
-- surchargé dans quel sens?La
&
opérateur ne concaténation de chaîne, qui est, les forces de opérandes pour être converties en chaînes (comme appelerCStr
sur les premiers).+
, à son tour, forces de plus, si l'une des expressions numériques. Par exemple:vous donne
12
, alors quevous donner
3
.Donc, il est recommandé d'utiliser
&
pour la concaténation de chaîne, car elle élimine l'ambiguïté.+
opérateur pourrait se retourner contre quand les chaînes peuvent être interprétés comme des nombres. Si vous ne voulez pas de mauvaises surprises utiliser & pour concaténer des chaînes.Dans certains cas, le + va lancer une exception, par exemple les éléments suivants:
Vous aurez une exception si l'objet COM source feux de l'événement, vous devez effectuer une des opérations suivantes:
ou
Il peut être le meilleur dans les deux cas, à utiliser
CStr(value)
; mais à l'aide de & par commentaires ci-dessus pour la concaténation de chaîne est presque toujours la meilleure pratique.