在Visual Basic 6中,VB.NET的CType的转换表达式是什么?
答案 0 :(得分:18)
答案 1 :(得分:17)
根据您投射的类型,有很多种
cint() Cast to integer
cstr() cast to string
clng() cast to long
cdbl() cast to double
cdate() cast to date
它也有隐式转换,所以你可以这样做myString = myInt
答案 2 :(得分:4)
假设您有一个ChildClass(child)对象要转换为BaseClass。你这样做:
Dim base As BaseClass
Set base = child
由于VB6处理编译时类型安全的方式,你可以在没有任何额外语法的情况下这样做。
注意:鉴于其他人似乎都提到了CType
,我可能完全误解了这个问题,如果是这样的话我会道歉!
答案 3 :(得分:2)
已经提到的强制转换是正确的,但如果类型是对象,那么你必须在VB6中使用“Set”,例如:
If IsObject(Value) Then
Set myObject = Value ' VB6 does not have CType(Value, MyObjectType)
Else
myObject = Value ' VB6 does not have CType(Value, MyObjectType)
End If
当然,这取决于你所投的类型。几乎所有用户类都是对象以及Collection,Dictionary和许多其他类。内置类型,如long,integer,boolean等,显然不是对象。
答案 4 :(得分:0)
Ctype()我相信。 C *(CDate(),CStr()等)大部分都是保留。
答案 5 :(得分:0)
转化根本不是“演员”。例如,尝试:
MsgBox CLng(CBool(3&))
结果是-1,而不是3.这是因为那些是转换函数,而不是强制转换。语言很重要!