상수 및 리터럴 데이터 형식(Visual Basic)
리터럴은 변수의 값이나 숫자 3 또는 문자열 "Hello"와 같은 식의 결과가 아닌 자체로 표현되는 값입니다. 상수는 값이 변경될 수 있는 변수와 달리 리터럴을 대신하고 프로그램 전체에서 동일한 값을 유지하는 의미 있는 이름입니다.
Option Infer이고 Off
Option Strict인 On
경우 데이터 형식을 사용하여 모든 상수는 명시적으로 선언해야 합니다. 다음 예제에서 데이터 형식 MyByte
은 명시적으로 데이터 형식 Byte
으로 선언됩니다.
Option Strict On
Public Class Sample
Public Const MyByte As Byte = 2
End Class
있는 On
Option Strict
경우 Option Infer
절을 Off
사용하여 데이터 형식 As
을 지정하지 않고 상수를 선언할 수 있습니다. 컴파일러는 식 형식에서 상수의 형식을 결정합니다. 숫자 정수 리터럴은 기본적으로 데이터 형식으로 Integer
캐스팅됩니다. 부동 소수점 숫자의 기본 데이터 형식은 Double
키워드이며 False
상수를 지정합니다 True
Boolean
.
리터럴 및 형식 강제 변환
경우에 따라 리터럴을 특정 데이터 형식으로 강제 적용할 수 있습니다. 예를 들어 특히 큰 정수 리터럴 값을 형식 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 |
" | (없음) |