+ 연산자(Visual Basic)
두 개의 숫자를 추가하거나 숫자 식의 양수 값을 반환합니다. 두 문자열 식을 연결하는 데에 사용할 수도 있습니다.
구문
expression1 + expression2
또는
+expression1
부분
용어 | 정의 |
---|---|
expression1 |
필수입니다. 모든 숫자 또는 문자열 식입니다. |
expression2 |
+ 연산자가 음수 값을 계산하지 않는 한 필요합니다. 모든 숫자 또는 문자열 식입니다. |
결과
expression1
및 expression2
둘 다 숫자인 경우 결과는 산술 합계입니다.
expression2
이 없는 경우 +
연산자는 식의 변경되지 않은 값에 대한 단항 ID 연산자입니다. 이러한 의미에서 연산은 expression1
의 부호를 유지하는 것으로 구성되므로 expression1
이 음수이면 결과가 음수입니다.
expression1
및 expression2
이 모두 문자열인 경우 결과는 해당 값의 연결입니다.
혼합 형식인 expression1
과 expression2
의 경우 수행되는 작업은 해당 형식, 내용, Option Strict 문 설정에 따라 달라집니다. 자세한 내용은 “주의”의 표를 참조하세요.
지원 형식
부호 없는 부동 소수점 형식과 Decimal
, String
를 포함한 모든 숫자 형식.
설명
일반적으로 +
은 가능한 경우 산술 추가를 수행하고 두 식이 모두 문자열인 경우에만 연결합니다.
두 식이 모두 Object
이 아닌 경우 Visual Basic은 다음 작업을 수행합니다.
식의 데이터 형식 | 컴파일러별 작업 |
---|---|
두 식 모두 숫자 데이터 형식(SByte , Byte , Short , UShort , Integer , UInteger , Long , ULong , Decimal , Single , Double )입니다. |
추가. 결과 데이터 형식은 데이터 형식에 적합한 숫자 형식 expression1 및 expression2 입니다. 연산자 결과의 데이터 형식에서 “정수 산술” 테이블을 참조하세요. |
두 식 모두 형식 String 입니다. |
연결. |
한 식은 숫자 데이터 형식이고 다른 식은 문자열입니다. | Option Strict 이 On 인 경우 컴파일러 오류를 생성합니다.Option Strict 이 Off 인 경우, String 을 Double 로 암시적으로 변환하여 추가합니다.String 을 Double 로 변환할 수 없는 경우 InvalidCastException 예외를 throw합니다. |
한 식은 숫자 데이터 형식이고 다른 식은 Nothing입니다. | Nothing 의 값을 0으로 지정하여 추가합니다. |
한 식은 문자열이고 다른 식은 Nothing 입니다. |
Nothing 을 “”값으로 지정하여 연결합니다. |
하나의 식이 Object
식인 경우 Visual Basic은 다음 작업을 수행합니다.
식의 데이터 형식 | 컴파일러별 작업 |
---|---|
Object 식에 숫자 값이 있고 다른 하나는 숫자 데이터 형식입니다. |
Option Strict 이 On 인 경우 컴파일러 오류를 생성합니다.Option Strict 이 Off 면 추가합니다. |
Object 식은 숫자 값을 보유하며 다른 식은 형식 String 입니다. |
Option Strict 이 On 인 경우 컴파일러 오류를 생성합니다.Option Strict 이 Off 인 경우, String 을 Double 로 암시적으로 변환하여 추가합니다.String 을 Double 로 변환할 수 없는 경우 InvalidCastException 예외를 throw합니다. |
Object 식에 문자열이 있고 다른 하나는 숫자 데이터 형식입니다. |
Option Strict 이 On 인 경우 컴파일러 오류를 생성합니다.Option Strict 이 Off 인 경우 문자열 Object 을 Double 로 암시적으로 변환하고 추가합니다.문자열 Object 을 Double 로 변환할 수 없는 경우 InvalidCastException 예외를 throw합니다. |
Object 식은 문자열을 보유하며 다른 식은 String 형식입니다. |
Option Strict 이 On 인 경우 컴파일러 오류를 생성합니다.Option Strict 이 Off 인 경우 Object 을 String 로 암시적으로 변환하여 연결합니다. |
두 식이 모두 Object
식인 경우 Visual Basic은 다음 작업(Option Strict Off
만) 수행합니다.
식의 데이터 형식 | 컴파일러별 작업 |
---|---|
두 Object 식 모두 숫자 값을 보유합니다. |
추가. |
두 Object 식 모두 형식 String 입니다. |
연결. |
한 Object 식에는 숫자 값이 있고 다른 식은 문자열을 보유합니다. |
문자열 Object 을 Double 로 암시적으로 변환하고 추가합니다.문자열 Object 을 숫자 값으로 변환할 수 없는 경우 InvalidCastException 예외를 throw합니다. |
Object
식이 Nothing 또는 DBNull로 계산되거나 +
연산자가 “”의 값을 사용하여 String
으로 처리합니다.
참고 항목
+
연산자를 사용하는 경우 더하기 또는 문자열 연결이 발생할지 여부를 결정하지 못할 수 있습니다. 연결에 &
연산자를 사용하여 모호성을 제거하고 자체 문서화 코드를 제공합니다.
오버로딩
+
연산자는 오버로드될 수 있습니다. 즉, 피연산자가 해당 클래스 또는 구조체 형식을 가질 때 클래스 또는 구조체의 동작을 재정의할 수 있습니다. 코드에서 이러한 클래스나 구조에 대해 이 연산자를 사용하는 경우 재정의된 동작을 이해해야 합니다. 자세한 내용은 Operator Procedures을 참조하세요.
예시
다음 예제에서는 +
연산자를 사용하여 숫자를 추가합니다. 피연산자 둘 다 숫자인 경우 Visual Basic은 산술 결과를 계산합니다. 산술 결과는 두 피연산자의 합계를 나타냅니다.
Dim sumNumber As Integer
sumNumber = 2 + 2
sumNumber = 4257.04 + 98112
' The preceding statements set sumNumber to 4 and 102369.
+
연산자를 사용하여 문자열을 연결할 수 있습니다. 피연산자가 둘 다 문자열인 경우 Visual Basic은 피연산자를 연결합니다. 연결 결과는 두 피연산자의 내용으로 구성된 단일 문자열을 나타냅니다.
피연산자의 형식이 혼합된 경우 결과는 Option Strict 문의 설정에 따라 달라집니다. 다음 예제에서는 Option Strict
이 On
일 때의 결과를 보여 줍니다.
Option Strict On
Dim var1 As String = "34"
Dim var2 As Integer = 6
Dim concatenatedNumber As Integer = var1 + var2
' The preceding statement generates a COMPILER ERROR.
다음 예제에서는 Option Strict
이 Off
일 때의 결과를 보여 줍니다.
Option Strict Off
Dim var1 As String = "34"
Dim var2 As Integer = 6
Dim concatenatedNumber As Integer = var1 + var2
' The preceding statement returns 40 after the string in var1 is
' converted to a numeric value. This might be an unexpected result.
' We do not recommend use of Option Strict Off for these operations.
모호성을 제거하려면 +
연결 대신 &
연산자를 사용해야 합니다.
참고 항목
.NET