加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-17 00:22:01 所属栏目:大数据 来源:网络整理
导读:我以前用过C#.但是,在我加入一家新公司后,我需要编写vb.net.但是我觉得很难写.因为我发现vb.net不是强类型的.它真的不是强类型的吗?或者任何设置?这是一些例子. If (Me.Check1() And Me.Check2()) Then 根据我的C#知识,一旦Me.Check1()返回false,Me.Check2
我以前用过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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读