資料型別是指用於宣告不同型別的變數或函式的擴充套件系統。變數的型別決定了它在儲存器中佔用多少空間以及如何解釋儲存的位元型樣。
VB.Net提供了廣泛的資料型別。下表顯示了所有VB.Net可用的資料型別:
資料型別 | 儲存分配(大小) | 值範圍 |
---|---|---|
Boolean |
取決於實施平台 | True 或False |
Byte |
1個位元組 | 0 ~ 255 (無符號) |
Char |
2個位元組 | 0 ~ 65535 (無符號) |
Date |
8個位元組 | 0001年1月1日00:00:00(午夜)至9999年12月31日11:59:59 PM |
Decimal |
16個位元組 | 0 ~ +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9...E+28) 沒有小數點; 0 ~ +/-7.9228162514264337593543950335 ,在小數點右邊有28 位數位值 |
Double |
8個位元組 | 負值範圍:-1.79769313486231570E + 308 至-4.94065645841246544E-324 ;正值範圍:4.94065645841246544E-324 至1.79769313486231570E+308 |
Integer |
4個位元組 | -2,147,483,648 至2,147,483,647 (有符號) |
Long |
8個位元組 | -9,223,372,036,854,775,808 至9,223,372,036,854,775,807 (帶符號) |
Object |
在32位元平台上有4 個位元組,在64位元平台上有8 個位元組 |
任何型別都可以儲存在Object 型別的變數中 |
SByte |
1個位元組 | -128 至127 (有符號) |
Short |
2個位元組 | -32,768 至32,767 (有符號) |
Single |
4個位元組 | -3.4028235E + 38 到-1.401298E-45 為負值;1.401298E-45 至3.4028235E + 38 為正值 |
String |
取決於實施平台 | 0 到約20 億個Unicode 字元 |
UInteger |
4個位元組 | 0 到4,294,967,295 (無符號) |
ULong |
8個位元組 | 0 到18,446,744,073,709,551,615 (無符號) |
使用者自定義 | 取決於實施平台 | 結構中的每個成員都有一個由其資料型別決定的範圍,而與其他成員的範圍無關 |
UShort |
2個位元組 | 0 ~ 65,535 (無符號) |
以下範例演示了一些型別的使用,建立一個專案:DataTypes,並建立一個VB檔案:DataTypes.vb,程式碼如下所示 -
Module DataTypes
Sub Main()
Dim b As Byte
Dim n As Integer
Dim si As Single
Dim d As Double
Dim da As Date
Dim c As Char
Dim s As String
Dim bl As Boolean
b = 1
n = 1234567
si = 0.12345678901234566
d = 0.12345678901234566
da = Today
c = "U"c
s = "Me"
If ScriptEngine = "VB" Then
bl = True
Else
bl = False
End If
If bl Then
'the oath taking'
Console.Write(c & " and," & s & vbCrLf)
Console.WriteLine("declaring on the day of: {0}", da)
Console.WriteLine("We will learn VB.Net seriously")
Console.WriteLine("Lets see what happens to the floating point variables:")
Console.WriteLine("The Single: {0}, The Double: {1}", si, d)
End If
Console.ReadKey()
End Sub
End Module
執行上面範例程式碼,得到以下結果 -
VB.Net提供了以下的一致型別轉換函式:
編號 | 方法 | 描述 |
---|---|---|
1 | CBool(expression) |
將表示式轉換為布林資料型別。 |
2 | CByte(expression) |
將表示式轉換為Byte 資料型別。 |
3 | CChar(expression) |
將表示式轉換為Char 資料型別。 |
4 | CDate(expression) |
將表示式轉換為日期資料型別 |
5 | CDbl(expression) |
將表示式轉換為Double 資料型別。 |
6 | CDec(expression) |
將表示式轉換為十進位制資料型別。 |
7 | CInt(expression) |
將表示式轉換為Integer 資料型別。 |
8 | CLng(expression) |
將表示式轉換為Long 資料型別。 |
9 | CObj(expression) |
將表示式轉換為物件型別。 |
10 | CSByte(expression) |
將表示式轉換為SByte 資料型別。 |
11 | CShort(expression) |
將表示式轉換為Short 資料型別。 |
12 | CSng(expression) |
將表示式轉換為Single 資料型別。 |
13 | CStr(expression) |
將表示式轉換為字串資料型別。 |
14 | CUInt(expression) |
將表示式轉換為UInt 資料型別。 |
15 | CULng(expression) |
將表示式轉換為ULng 資料型別。 |
16 | CUShort(expression) |
將表示式轉換為UShort 資料型別。 |
以下範例演示了上述一部分函式的使用:
Module DataTypes
Sub Main()
Dim n As Integer
Dim da As Date
Dim bl As Boolean = True
n = 1234567
da = Today
Console.WriteLine(bl)
Console.WriteLine(CSByte(bl))
Console.WriteLine(CStr(bl))
Console.WriteLine(CStr(da))
Console.WriteLine(CChar(CChar(CStr(n))))
Console.WriteLine(CChar(CStr(da)))
Console.ReadKey()
End Sub
End Module
執行上面範例程式碼,得到以下結果 -
True
-1
True
2017/11/6
1
2