VBScript について説明しているすべてのサイトでは、' &
' 演算子が文字列連結演算子としてリストされています。ただし、最近継承した一部のコードでは、' +
' 演算子が使用されていることがわかりますが、これによるエラーは発生していません。これは受け入れられた代替案ですか?
59682 次
4 に答える
45
演算子は文字列の連結を行います。&
つまり、オペランドを強制的に文字列に変換します(CStr
最初にオペランドを呼び出すなど)。+
次に、式の1つが数値の場合、強制的に加算します。例えば:
1 & 2
あなたに与える12
のに対し、
1 + 2
"1" + 2
1 + "2"
あなたに与える3
。
したがって、&
あいまいさを排除するため、文字列の連結に使用することをお勧めします。
于 2009-07-30T20:30:35.410 に答える
43
+ 演算子はオーバーロードされていますが、& 演算子はオーバーロードされていません。& 演算子は、文字列の連結のみを行います。一部のサークルでは、& 演算子は明確であり、オーバーロードの結果として意図しない影響を与えることができないため、ベスト プラクティスとして使用されます。
于 2009-07-30T19:46:52.673 に答える
7
+
文字列を数値として解釈できる場合、演算子は逆効果になる可能性があります。厄介な驚きを望まない場合は、 & を使用して文字列を連結します。
于 2009-07-30T19:46:51.160 に答える
2
場合によっては、+ が例外をスローします。たとえば、次のようにします。
Sub SimpleObject_FloatPropertyChanging(fvalue, cancel)
'fvalue is a floating point number
MsgBox "Received Event: " + fvalue
End Sub
COM オブジェクト ソースがイベントを発生させると、例外が発生します。次のいずれかを実行する必要があります。
MsgBox "Received Event: " & fvalue
また
MsgBox "Received Event: " + CStr(fvalue)
どちらの場合でも、CStr(value)
;を使用するのが最適です。ただし、上記のコメントごとに文字列連結に & を使用することは、ほとんどの場合ベスト プラクティスです。
于 2014-02-08T17:34:12.613 に答える