首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >VB.NET中DirectCast()与CType()的区别

VB.NET中DirectCast()与CType()的区别
EN

Stack Overflow用户
提问于 2010-06-17 03:27:53
回答 2查看 87.4K关注 0票数 108

我是一个刚进入VB.NET的有经验的C/C++/C#程序员,我通常使用CType (和CInt,CBool,CStr)进行造型,因为它的字符更少,是我接触到的第一种造型方式,但我也知道DirectCast和TryCast。

简单地说,有什么不同(演员的效果,表演,等等)在DirectCast和CType之间?我理解TryCast的概念。

EN

回答 2

Stack Overflow用户

发布于 2011-07-05 22:50:58

使用CType,您可以编写类似Ctype("string",Integer)的代码。但是对于DirectCast,上面的语句会给出一个编译时错误。

代码语言:javascript
复制
 Dim a As Integer = DirectCast("1", Integer) 'Gives compiler error
 Dim b As Integer = CType("1", Integer) 'Will compile
票数 12
EN

Stack Overflow用户

发布于 2016-09-11 14:22:35

DirectCastCType有更多的限制。

例如,这将抛出一个错误:

代码语言:javascript
复制
Sub Main()
    Dim newint As Integer = DirectCast(3345.34, Integer)
    Console.WriteLine(newint)
    Console.ReadLine()
End Sub

它还将显示在Visual Studio IDE中。

但是,这不会抛出错误:

代码语言:javascript
复制
Sub Main()
    Dim newint As Integer = CType(3345.34, Integer)
    Console.WriteLine(newint)
    Console.ReadLine()
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3056514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档