日期:2013-08-22 浏览次数:20461 次
VB6中声明:
Declare Function srd_45d041 Lib "mwic_32.dll" (ByVal icdev As Long, ByVal page As Integer, ByVal offset As Integer, ByVal le As Long, ByVal data_buffer$) As Integer
升级后.NET的声明: Declare Function srd_45d041 Lib "mwic_32.dll" (ByVal icdev As Integer, ByVal page As Short, ByVal offset As Short, ByVal le As Integer, ByVal data_buffer As String) As Short VB6中Long类型在.NET中变成了Integer,而Integer变成了Short。就这么一点小小的问题搞得我郁闷了半天。把程序调试通过以后,我查了一下MSDN Library,发现.NET的数据类型和VB6的存在一些变化。具体的可以看下面这两张表。
表1 VB6中的数据类型
数据类型
存储空间大小
范围
Byte
1 个字节
0 到 255
Boolean
2 个字节
True 或 False
Integer
2 个字节
-32,768 到 32,767
Long
(长整型)
4 个字节
-2,147,483,648 到 2,147,483,647
Single
(单精度浮点型)
4 个字节
负数时从 -3.402823E38 到 -1.401298E-45;正数时从 1.401298E-45 到 3.402823E38
Double
(双精度浮点型)
8 个字节
负数时从 -1.79769313486232E308 到
-4.94065645841247E-324;正数时从4.94065645841247E-324 到 1.79769313486232E308
Currency
(变比整型)
8 个字节
从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807
Decimal
14 个字节
没有小数点时为 +/-79,228,162,514,264,337,593,543,950,335,而小数点右边有 28 位数时为 +/-7.9228162514264337593543950335;最小的非零值为 +/-0.0000000000000000000000000001
Date
8 个字节
100 年 1 月 1 日 到
Object
4 个字节
任何 Object 引用
String
(变长)
10 字节加字符串长度
0 到大约 20 亿
String
(定长)
字符串长度
1 到大约 65,400
Variant
(数字)
16 个字节
任何数字值,最大可达 Double 的范围
Variant
(字符)
22 个字节加字符串长度
与变长 String 有相同的范围
用户自定义
(利用 Type)
所有元素所需数目
每个元素的范围与它本身的数据类型的范围相同。
表2 VB.NET中的数据类型
Visual Basic 类型
公共语言运行库类型结构
名义存储分配
取值范围
Boolean
System.Boolean
2 个字节
True 或 False
Byte
System.Byte
1 个字节
0 到 255(无符号)。
Char
System.Char
2 个字节
0 到 65535(无符号)。
Date
System.DateTime
8 个字节
Decimal
System.Decimal
16 个字节
0 到 +/-79,228,162,514,264,337,593,543,950,335 之间不带小数点的数;
0 到 +/-7.9228162514264337593543950335 之间带 28 位小数的数;最小非零数为
+/-0.0000000000000000000000000001 (+/-1E-28)。
Double
(双精度浮点型)
System.Double
8 个字节
负值取值范围为 -1.79769313486231570E+308 到 -4.94065645841246544E-324;正值取值范围为 4.94065645841246544E-324 到 1.79769313486231570E+308。
Integer
System.Int32
4 个字节
-2,147,483,648 到 2,147,483,647。
Long
(长整型)
System.Int64
8 个字节
-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
Short
System.Int16
2 个字节
-32,768 到 32,767。