在VarTypeMSDN Microsoft文档中,VarType它说VBScript的功能(大胆强调):
"备注VarType函数永远不会返回Array的值.它总是被添加到一些其他值以指示特定类型的数组.Variant的值只有在已添加到Array的值时才返回VarType函数的参数是一个数组.例如,为整数数组返回的值计算为2 + 8192或8194.如果一个对象有一个默认属性,VarType(object)返回它的默认类型属性."
但
代码如
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)))
Run Code Online (Sandbox Code Playgroud)
回报
2
2
2
8204 - 8192 = 12
8204 - 8192 = 12
2
Run Code Online (Sandbox Code Playgroud)
I1- I3ALL返回正确的vbIntegerAND,当它们在数组中单独引用时,也返回vbInteger,但数组坚持它是一个数组vbVariant.
除非我在这里完全遗漏了一些东西,否则在文档的SPITE中似乎没有办法创建一个数组,其中的项目是所有SAME类型,并且已经VarType将其识别为除了数组之外的任何内容vbVariant.
我觉得这应该已经是一个问题,但我在这里空洞搜索,如果我错过了现有的问题,请随时链接.
| 归档时间: |
|
| 查看次数: |
8833 次 |
| 最近记录: |