十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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 数据类型。
这属于装箱拆箱。我举个例子你就明白了:
Dim x As Integer = 5
Dim o As Object = x '装箱
Dim y As Integer = CType(o, Integer) '拆箱(在Option Strict Off的情况下,直接用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.NET中用Ctype()函数实现的。
Dim drv As DataRowView = CType(comboBox1.SelectedItem, DataRowView)
另外:comboBox1.SelectedItem 不是 string 类型,而是 object 类型。ComboBox 下拉显示文字是通过调用 Object.ToString() 方法实现的。
是的,因为这是一个强制转换,但你没有定义转换的方法。 如果想要 D d6 = (D) b1; 这句话能够正常运行,则需要在Class D中重载如下运算: internal class D:B { public static explicit operator D(B b) //这是一个显式转换 { //具体转换方法 }