類型字元 (Visual Basic)
除了在宣告陳述式中指定資料類型之外,您還可以使用類型字元來強制某些程式設計元素的資料類型。 類型字元必須緊接在元素後面,不能有任何種類的插入字元。
類型字元不是元素名稱的一部分。 使用類型字元定義的元素可以不用類型字元進行參考。
識別項類型字元
Visual Basic 提供了一組識別項型別字元,您可以在宣告中用來指定變數或常數的資料類型。 下表顯示了可用的識別項類型字元,以及用法的範例。
識別項類型字元 | 資料類型 | 範例 |
---|---|---|
% |
Integer |
Dim L% |
& |
Long |
Dim M& |
@ |
Decimal |
Const W@ = 37.5 |
! |
Single |
Dim Q! |
# |
Double |
Dim X# |
$ |
String |
Dim V$ = "Secret" |
識別項類型字元不適用於 Boolean
、Byte
、Char
、Date
、Object
、SByte
、Short
、UInteger
、ULong
或 UShort
資料類型,或任何的複合資料類型 (例如陣列或結構)。
在某些情況下,您可以將 $
字元附加到 Visual Basic 函式 (例如 Left$
,而不是 Left
),以取得類型 String
的傳回值。
在所有情況下,識別項類型字元都必須緊接在識別項名稱後面。
常值類型字元
常值 (Literal) 是一種資料類型的特定值的文字表示方式。
預設的常值類型
常值在您的程式碼中出現的形式通常決定了它的資料類型。 下表顯示這些預設的類型。
常值的文字形式 | 預設的資料類型 | 範例 |
---|---|---|
數字類型,沒有小數部分 | Integer |
2147483647 |
數字類型,沒有小數部分,對 Integer 而言太大 |
Long |
2147483648 |
數字類型,有小數部分 | Double |
1.2 |
括在雙引號中 | String |
"A" |
用數字符號括起來 | Date |
#5/17/1993 9:32 AM# |
強制常值類型
Visual Basic 提供了一組常值類型字元,您可以用來強制一個常值採用一個不同於其形式所指示的資料類型。 您可以透過在常值後面附加該字元來實現。 下表顯示了可用的常值類型字元,以及用法的範例。
常值類型字元 | 資料類型 | 範例 |
---|---|---|
S |
Short |
I = 347S |
I |
Integer |
J = 347I |
L |
Long |
K = 347L |
D |
Decimal |
X = 347D |
F |
Single |
Y = 347F |
R |
Double |
Z = 347R |
US |
UShort |
L = 347US |
UI |
UInteger |
M = 347UI |
UL |
ULong |
N = 347UL |
C |
Char |
Q = "."C |
常值類型字元不適用於 Boolean
、Byte
、Date
、Object
、SByte
或 String
資料類型,或任何的複合資料類型 (例如陣列或結構)。
常值也可以使用識別項類型字元 (%
、&
、@
、!
、#
、$
),就像變數、常數和運算式一樣。 但是,常值類型字元 (S
、I
、L
、D
、F
、R
、C
) 只能搭配常值使用。
在所有情況下,常值類型字元必須緊接在常值的值後面。
十六進位、二進位和八進位的常值
編譯器通常會將整數常值解譯為十進位 (以 10 為底) 的數字系統。 您也可以用 &H
前置詞將整數常值定義為十六進位 (以 16 為底) 的數字,用 &B
前置詞將其定義為二進位 (以 2 為底) 的數字,或用 &O
前置詞將其定義為八進位 (以 8 為底) 的數字。 前置詞後面的數字必須適合於該數字系統。 下表說明這一點。
數字進位制 | Prefix | 有效的數字值 | 範例 |
---|---|---|---|
十六進位 (基底 16) | &H |
0-9 和 A-F | &HFFFF |
二進位 (以 2 為底) | &B |
0-1 | &B01111100 |
八進位 (基底 8) | &O |
0-7 | &O77 |
從 Visual Basic 2017 開始,您可以使用底線字元 (_
) 做為群組分隔符號,以增強整數常值的可讀性。 下列範例使用 _
字元將二進位常值分組為 8 位元的群組:
Dim number As Integer = &B00100010_11000101_11001111_11001101
您可以在一個前置常值後面加上一個常值類型字元。 以下範例說明這點。
Dim counter As Short = &H8000S
Dim flags As UShort = &H8000US
在上面的範例中,counter
具有 -32768 的十進位值,而 flags
具有 +32768 的十進位值。
從 Visual Basic 15.5 開始,您也可以使用底線字元 (_
) 作為前置字元與十六進位、二進位或八進位數字之間的前置分隔符號。 例如:
Dim number As Integer = &H_C305_F860
若要使用底線字元作為前置分隔符號,您必須將下列項目新增至 Visual Basic 專案 (*.vbproj) 檔:
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
如需詳細資訊,請參閱選取 Visual Basic 語言版本。