|
1
52
trycast和directcast是直接映射到clr对强制转换的支持的强制转换运算符。它们可以快速将基类型的对象转换为派生类型,或取消值类型的值的绑定。当转换不可能时,directcast抛出异常,如果失败,trycast将不返回任何内容。您通常希望使用directcast来捕获编程错误。 ctype允许转换的超集,clr不喜欢转换的超集。我能想到的最好的例子是将字符串转换为数字或日期。例如:
如果option strict on生效,则必须使用它。如果关闭,则可以直接执行:
当然非常方便,也是vb.net作为动态类型语言的一部分。但并非没有问题,这一天是stackoverflow.com的独角兽日,但将是1月份的一天,一个英国人进入这个字符串。意外的转换是clr不直接允许这些转换的原因。明确的、从不意外的转换如下所示:
您是否应该购买try/directcast vs ctype vs显式转换,这是个人的选择。如果您现在使用option strict on进行编程,那么您肯定应该开始使用try/directcast。如果您喜欢vb.net语言,因为您喜欢动态键入的便利性,那么不要犹豫继续使用ctype。 |
|
|
3
1
这个 page 解释得很好。
读了它,我想当你用
|
|
|
4
0
“转换”是指将一种数据类型转换为另一种数据类型(例如字符串转换为 整数、十进制到整数、对象到字符串等)。 “cast”的意思是将一种类型的对象更改为另一种类型,即 根据下列规则之一与之相关。 http://www.thedevheaven.com/2012/09/directcast-vs-ctype.html |
|
|
Mear1628 · vb.net从随机选择的端口号接收UDP 1 年前 |
|
|
user1946932 · .Net正则表达式在所有字符前添加空格 1 年前 |
|
|
user1946932 · 正则表达式:删除连续两个以上的<br>? 1 年前 |
|
|
Josh · 通过反思访问孩子的财产 1 年前 |
|
|
Khu RJ · 更新网格中的单元格-DevExpress网格控件 1 年前 |
|
|
Mick · VB.NET Regex。替换不起作用(数组未更新) 1 年前 |