gpt4 book ai didi

VB6 变体类型

转载 作者:行者123 更新时间:2023-12-04 20:28:35 26 4
gpt4 key购买 nike

我来自面向对象的背景。为什么在此代码片段中显示(在消息框中)“测试”(注意引号)。我希望逻辑测试: 'If Test = "True"' 返回 False,因为该变体包含一个 bool 值而不是一个字符串。因此,我不希望出现消息框,但它确实:

Dim Test As Variant

Test = True

If Test = "True" Then //line 5
MsgBox ("Test")
End If

最佳答案

Variant VB6(以及大多数支持它们的其他语言)中的类型值会根据需要在数据类型之间自动转换;它们在 COM 交互中被广泛使用。

您正在使用的代码在此处使用从 bool 值到字符串的自动(隐式)转换:

if Test = "True"

在此处将其用作原始分配类型( bool 值)后
Test = True

但是,在这里,您根本没有使用该变体;您使用的是硬编码字符串 "Test" .

关于VB6 变体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10218803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com