vb.net强制转换 vb强制类型转换

VB.NET 中将Control 类强制转换成Textbox类Dim txt As TextBox = CType(ctrl, TextBox)
当然也可以用directcast方法,实现的功能一样,trycast可以避免类型不符的时候不报错的功能 。
完全不相的类型之间则是不能转换的,比如你的ctrl里实际上是一个button , 那么无论如何都不可能给你转换成textbox,用上面的方法的话会抛出一个异常 。
vb.net,强类型转换这属于装箱拆箱 。我举个例子vb.net强制转换你就明白vb.net强制转换了:
Dim x As Integer = 5
Dim o As Object = x '装箱
【vb.net强制转换 vb强制类型转换】Dim y As Integer = CType(o, Integer) '拆箱(在Option Strict Off的情况下vb.net强制转换,直接用o给y赋值,会发生自动转换 , 也就是说在这种情况下 , 你不必显式调用CType函数)
另外:VB.NET支持后期绑定,所以你也可以不进行拆箱 , 直接在Object类型下就可以调用它的属性和方法
比如 , 下面的语句在Option Strict Off是是合法的
Dim s As String = 886
Dim i As Integer = "53"
Dim f As Object = New Form()
f.Show() '注意,f是Object类型的
总之,VB.NET的语法要比C#灵活得多
VB中数据的强制类型转换怎么实现VB使用类型转换函数来实现强制将一个表达式转换成某种特定数据类型 。
类型转换函数,每个函数都可以强制将一个表达式转换成某种特定数据类型 。
语法
CBool(expression)
CByte(expression)
CCur(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CSng(expression)
CStr(expression)
CVar(expression)
CStr(expression)
必要的 expression 参数可以是任何字符串表达式或数值表达式 。
CBool 函数示例
本示例使用 CBool 函数来将一表达式转成 Boolean
值 。如果表达式的结果为非零的值,CBool 返回 True;否则返回 False 。
Dim A, B, Check
A = 5: B = 5' 设置变量初值 。
Check = CBool(A = B)' Check 的值为 True 。
A = 0' 定义变量 。
Check = CBool(A)' Check 的值为 False 。
CByte 函数示例
本示例使用 CByte 函数将一表达式转成 Byte 。
Dim MyDouble, MyByte
MyDouble = 125.5678' MyDouble 为Double(双精度) 。
MyByte = CByte(MyDouble)' MyByte 值为 126 。
...
CDate 函数示例
本示例使用 CDate 函数将字符串转换成
Date 。一般说来,字符串格式的日期与时间硬编码(如示例中所示)并不好 。较好的做法是使用日期原义表达式和时间的原义表达式(如
#2/12/1969#,#4:45:23 PM#) 。
Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"' 定义日期 。
MyShortDate = CDate(MyDate)' 转换为 Date 数据类型 。
MyTime = "4:35:47 PM"' 定义时间 。
MyShortTime = CDate(MyTime)' 转换为 Date 数据类型 。
请教VB.net里的一个强制类型转换问题是的,因为这是一个强制转换,但你没有定义转换的方法 。如果想要 D d6 = (D) b1; 这句话能够正常运行,则需要在Class D中重载如下运算: internal class D:B { public static explicit operator D(B b) //这是一个显式转换 { //具体转换方法 }
vb.net强制转换的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于vb强制类型转换、vb.net强制转换的信息别忘了在本站进行查找喔 。

    推荐阅读