In the VarType MSDNMicrosoft VBScript 文档VarType
它说的功能(粗体强调):
“备注 VarType 函数永远不会通过以下方式返回 Array 的值:
本身。它总是添加到其他一些值来指示数组
特定类型。 Variant 的值仅在满足以下条件时才返回
被添加到 Array 的值中以指示该参数
VarType 函数是一个数组。例如,返回的值
整数数组计算为 2 + 8192 或 8194。如果一个对象有
默认属性,VarType(object)返回其默认的类型
财产。”
BUT
代码如
Dim A,I1, I2, I3
I1 = 1
I2 = 2
I3 = 3
A = Array(I1,I2,I3)
Dim A2
A2 = Split("Test,Test,Test",",")
AT = VarType(A)
AT2 = VarType(A2)
IT1 = VarType(I1)
IT2 = VarType(I2)
IT3 = VarType(I3)
WScript.Echo IT1
WScript.Echo IT2
WScript.Echo IT3
WScript.Echo AT & " - 8192 = " & AT - 8192
WScript.Echo AT2 & " - 8192 = " & AT2 - 8192
WScript.Echo CStr(VarType(A(2)))
returns
2
2
2
8204 - 8192 = 12
8204 - 8192 = 12
2
I1
- I3
全部归还其应得的vbInteger
并且,当在数组中单独引用时,还返回vbInteger
,但数组坚持认为它是一个数组vbVariant
.
除非我在这里完全遗漏了一些东西,否则似乎在文档中没有办法创建一个数组,其中的项目都是相同类型并且具有VarType
将其视为除数组之外的任何东西vbVariant
.
我觉得这应该已经是一个问题,但我在这里进行了空搜索,所以如果我错过了现有的问题,请随时链接。