vbscript 's +와 Operator의 차이점은 무엇입니까?
-
05-07-2019 - |
문제
VBScript에 대해 이야기하는 모든 사이트에서&
'연산자는 문자열 연결 연산자로 나열됩니다. 그러나 최근에 상속 된 일부 코드에서는 '+
'운영자가 사용되고 있으며 그 결과로 오류가 표시되지 않습니다. 이것은 받아 들여진 대안입니까?
해결책
+ 연산자는 과부하가 걸리지 만 & 운영자는 그렇지 않습니다. & 연산자는 문자열 연결 만 수행합니다. 일부 서클에서는 & 운영자가 모호하지 않기 때문에 모범 사례로 사용되므로 과부하의 결과로 의도하지 않은 효과를 가질 수 없습니다.
다른 팁
그만큼 &
연산자는 문자열 연결을 수행합니다. 즉, 강제 피연산자는 문자열로 변환됩니다 ( CStr
그들에게 먼저). +
, 그 차례에, 표현 중 하나가 숫자 인 경우 강제 추가. 예를 들어:
1 & 2
당신을 준다 12
, 반면
1 + 2
"1" + 2
1 + "2"
당신을 줘 3
.
따라서 사용하는 것이 좋습니다 &
모호성을 제거하기 때문에 문자열 연결의 경우.
+
문자열을 숫자로 해석 할 수있을 때 연산자가 역효과를 낼 수 있습니다. 당신이 불쾌한 놀라움을 원하지 않는다면, 끈을 사용하고 끈을 연결합니다.
어떤 경우에는 +가 예외를 던집니다. 예를 들어 다음과 같습니다.
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)
; 그러나 문자열 연결에 대한 위의 의견을 사용하는 것은 거의 항상 모범 사례입니다.
제휴하지 않습니다 StackOverflow