html5中文学习网

您的位置: 首页 > 网络编程 > ASP.NET » 正文

关于变量数据类型的几点讨论(一)_.NET教程_编程技术

[ ] 已经帮助:人解决问题
变量|数据|数据类型
variant变量的格式有OLE定义,可以存放任何类型的数据,并以下图的格式用16个字节存放某些变量。

0-1
2-7
8-15

varType
Unused
Value


第0和1字节保存一个整数值,以指明在第8-15字节中存放的是何种类型的数据,第2到7字节一般情况下没有用,并且在大多数情况下,该变量的第8到15字节也不是全部用上。如:用一个variant变量保存了一个整形数,那么开始两个字节中的值为2-vbinteger,第8和9字节存放真实的16位值。

让我们写一段代码验证一下。

Dim v as variant ‘variant是vb的默认数据类型,所以也可以定义为dim v

v=1000

debug.print vartype(v) ‘输出结果2 vbinteger

另外换个方式检验:

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)



Dim v As Variant

Dim i As Integer

v = 1000

CopyMemory i, v, 2

Debug.Print "0-1位是" & i

CopyMemory i, ByVal (VarPtr(v) + 8), 2

Debug.Print "8-9位是 " & I

可以看到8-9位的结果是1000,而0-1位为2-vbinteger。

ArbHTML5中文学习网 - HTML5先行者学习网
ArbHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助