📜  VB.Net-数据类型

📅  最后修改于: 2020-11-19 08:45:06             🧑  作者: Mango


数据类型是指用于声明不同类型的变量或函数的扩展系统。变量的类型决定了它在存储中占据多少空间以及如何解释所存储的位模式。

VB.Net中可用的数据类型

VB.Net提供了广泛的数据类型。下表显示了所有可用的数据类型-

Data Type Storage Allocation Value Range
Boolean Depends on implementing platform True or False
Byte 1 byte 0 through 255 (unsigned)
Char 2 bytes 0 through 65535 (unsigned)
Date 8 bytes 0:00:00 (midnight) on January 1, 0001 through 11:59:59 PM on December 31, 9999
Decimal 16 bytes 0 through +/-79,228,162,514,264,337,593,543,950,335 (+/-7.9…E+28) with no decimal point; 0 through +/-7.9228162514264337593543950335 with 28 places to the right of the decimal
Double 8 bytes

-1.79769313486231570E+308 through -4.94065645841246544E-324, for negative values

4.94065645841246544E-324 through 1.79769313486231570E+308, for positive values

Integer 4 bytes -2,147,483,648 through 2,147,483,647 (signed)
Long 8 bytes -9,223,372,036,854,775,808 through 9,223,372,036,854,775,807(signed)
Object

4 bytes on 32-bit platform

8 bytes on 64-bit platform

Any type can be stored in a variable of type Object
SByte 1 byte -128 through 127 (signed)
Short 2 bytes -32,768 through 32,767 (signed)
Single 4 bytes

-3.4028235E+38 through -1.401298E-45 for negative values;

1.401298E-45 through 3.4028235E+38 for positive values

String Depends on implementing platform 0 to approximately 2 billion Unicode characters
UInteger 4 bytes 0 through 4,294,967,295 (unsigned)
ULong 8 bytes 0 through 18,446,744,073,709,551,615 (unsigned)
User-Defined Depends on implementing platform Each member of the structure has a range determined by its data type and independent of the ranges of the other members
UShort 2 bytes 0 through 65,535 (unsigned)

以下示例演示了某些类型的用法-

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

编译并执行上述代码后,将产生以下结果-

U and, Me
declaring on the day of: 12/4/2012 12:00:00 PM
We will learn VB.Net seriously
Lets see what happens to the floating point variables:
The Single:0.1234568, The Double: 0.123456789012346

VB.Net中的类型转换函数

VB.Net提供以下内联类型转换功能-

Sr.No. Functions & Description
1

CBool(expression)

Converts the expression to Boolean data type.

2

CByte(expression)

Converts the expression to Byte data type.

3

CChar(expression)

Converts the expression to Char data type.

4

CDate(expression)

Converts the expression to Date data type

5

CDbl(expression)

Converts the expression to Double data type.

6

CDec(expression)

Converts the expression to Decimal data type.

7

CInt(expression)

Converts the expression to Integer data type.

8

CLng(expression)

Converts the expression to Long data type.

9

CObj(expression)

Converts the expression to Object type.

10

CSByte(expression)

Converts the expression to SByte data type.

11

CShort(expression)

Converts the expression to Short data type.

12

CSng(expression)

Converts the expression to Single data type.

13

CStr(expression)

Converts the expression to String data type.

14

CUInt(expression)

Converts the expression to UInt data type.

15

CULng(expression)

Converts the expression to ULng data type.

16

CUShort(expression)

Converts the expression to UShort data type.

以下示例演示了其中一些功能-

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
12/4/2012
1
1