상수 및 리터럴 데이터 형식(Visual Basic)

리터럴은 변수의 값이나 숫자 3 또는 문자열 "Hello"와 같은 식의 결과가 아닌 자체로 표현되는 값입니다. 상수는 값이 변경될 수 있는 변수와 달리 리터럴을 대신하고 프로그램 전체에서 동일한 값을 유지하는 의미 있는 이름입니다.

Option Infer이고 OffOption StrictOn경우 데이터 형식을 사용하여 모든 상수는 명시적으로 선언해야 합니다. 다음 예제에서 데이터 형식 MyByte 은 명시적으로 데이터 형식 Byte으로 선언됩니다.

Option Strict On

Public Class Sample
  Public Const MyByte As Byte = 2
End Class

있는 OnOption Strict 경우 Option Infer 절을 Off사용하여 데이터 형식 As 을 지정하지 않고 상수를 선언할 수 있습니다. 컴파일러는 식 형식에서 상수의 형식을 결정합니다. 숫자 정수 리터럴은 기본적으로 데이터 형식으로 Integer 캐스팅됩니다. 부동 소수점 숫자의 기본 데이터 형식은 Double키워드이며 False 상수를 지정합니다 TrueBoolean.

리터럴 및 형식 강제 변환

경우에 따라 리터럴을 특정 데이터 형식으로 강제 적용할 수 있습니다. 예를 들어 특히 큰 정수 리터럴 값을 형식 Decimal의 변수에 할당하는 경우입니다. 다음 예제에서는 오류를 생성합니다.

Dim myDecimal as Decimal  
myDecimal = 100000000000000000000   ' This causes a compiler error.  

오류는 리터럴의 표현에서 발생합니다. 데이터 형식은 Decimal 이 큰 값을 보유할 수 있지만 리터럴은 암시적으로 나타낼 Long수 없습니다.

형식 문자를 추가하거나 바깥쪽 문자 내에 배치하여 리터럴을 특정 데이터 형식으로 강제 변환할 수 있습니다. 형식 문자 또는 바깥쪽 문자는 임의의 종류의 중간 공백이나 문자 없이 리터럴 바로 앞 및/또는 뒤에 와야 합니다.

이전 예제를 작동하려면 형식 문자를 리터럴에 추가하여 D 다음과 같이 Decimal표시할 수 있습니다.

Dim MyDecimal As Decimal = 100000000000000000000D

다음 예제에서는 형식 문자 및 바깥쪽 문자를 올바르게 사용하는 방법을 보여 줍니다.

' Default to Integer.
Public Const DefaultInteger As Integer = 100

' Default to Double.
Public Const DefaultDouble As Double = 54.3345612

' Force constant to be type Char.
Public Const MyCharacter As Char = "a"c

' DateTime constants.
Public Const MyDate As DateTime = #1/15/2001#
Public Const MyTime As DateTime = #1:15:59 AM#

' Force data type to be Long.
Public Const MyLong As Long = 45L

' Force data type to be Single.
Public Const MySingle As Single = 45.55!

다음 표에서는 Visual Basic 사용할 수 있는 바깥쪽 문자 및 형식 문자를 보여줍니다.

데이터 형식 문자 묶기 추가된 형식 문자
Boolean (없음) (없음)
Byte (없음) (없음)
Char " C
Date # (없음)
Decimal (없음) D 또는 @
Double (없음) R 또는 #
Integer (없음) I 또는 %
Long (없음) L 또는 &
Short (없음) S
Single (없음) F 또는 !
String " (없음)

참고 항목