微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB.NET弱类型?强类型的?

我以前用过C#.但是,在我加入一家新公司后,我需要编写vb.net.但是我觉得很难写.因为我发现vb.net不是强类型的.它真的不是强类型的吗?或者任何设置?这是一些例子.
If (Me.Check1() And Me.Check2()) Then

根据我的C#知识,一旦Me.Check1()返回false,Me.Check2()将不会被执行.但是我错了.并且用于按位操作.我应该使用AndAlso进行布尔运算.所以它应该是

If (Me.Check1() AndAlso Me.Check2()) Then

问题是If(Me.Check1()和Me.Check2())然后仍然有效且没有编译错误.我真的想知道我是否能够检查这种“不恰当”的操作.

And AndAso也只是其中一个案例.

有时,我需要忽略案例字符串比较.但是,每个人都会犯错误.有时,我做到了

If (String.Compare(Me.string1,Me.string2,True)) Then

我想每个人都知道这个问题.它应该是

If (String.Compare(Me.string1,True) = 0) Then

但是,在编译期间我仍然无法检查这种情况.

我喜欢C#,因为它有助于我们在编译过程中发现许多问题.但是,VB.NET让我很困惑,在运行时和测试期间必须确定许多错误.

还有一个例子就是

Public Sub MySub(ByVal obj as Object)
    Console.WriteLine(obj.MyProperty)
End Sub

在vb.net中,这种语句仍然有效.为什么?为什么?为什么?有谁知道如何使用像C#一样的vb.net?

VB.Net有强类型和弱类型.它通过Strict选项控制.这可以在项目或源文件级别设置.
' Enable VB.Net strong typing 
Option Strict On

' Enable VB.Net weak / dynamic typing
Option Strict Off

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐