其他分享
首页 > 其他分享> > visual basic.net 2019-判断null,is null

visual basic.net 2019-判断null,is null

作者:互联网

Nothing 关键字(Visual Basic)

表示任意数据类型的默认值。 对于引用类型,默认值为 null 引用。 对于值类型,默认值取决于值类型是否可以为 null。

对于不可为 null 的值类型,Visual Basic 中的 Nothing 不同于C#中的 null。 在 Visual Basic 中,如果将不可为 null 的值类型的变量设置为 Nothing,则该变量将设置为其声明的类型的默认值。 在C#中,如果将不可为 null 的值类型的变量分配到 null,则会发生编译时错误。

Nothing 表示数据类型的默认值。 默认值取决于变量是值类型还是引用类型。
值类型的变量直接包含其值。 值类型包括所有数值数据类型、Boolean、Char、Date、所有结构和所有枚举。 引用类型的变量存储对内存中对象的实例的引用。 引用类型包括类、数组、委托和字符串。
如果变量是值类型,则 Nothing 的行为取决于变量是否为可为 null 的数据类型。 若要表示可以为 null 的值类型,请将 ? 修饰符添加到类型名称。 将 Nothing 分配给可以为 null 的变量会将值设置为 null。 有关详细信息和示例,请参阅可以为 null 的值类型。
如果变量是不可为 null 的值类型,则将 Nothing 分配给它会将它设置为其声明类型的默认值。 如果该类型包含变量成员,则它们都设置为其默认值。

引用类型肯定是可以为nothing的

可以为 Null 的值类型 (Visual Basic)

有时,使用在某些情况下没有定义值的值类型。 例如,数据库中的字段可能必须区分具有有意义的赋值和没有赋值。 可以扩展值类型以获取其正常值或空值。 这种扩展称为空类型。

每个空值类型都是从泛型Nullable结构构造的。 考虑跟踪与工作相关的活动的数据库。 下面的示例构造一个可Booleannull 的类型,并声明该类型的变量。 可以通过三种方式编写声明:

Dim ridesBusToWork1? As Boolean
Dim ridesBusToWork2 As Boolean?
Dim ridesBusToWork3 As Nullable(Of Boolean)

综合示例

Imports System
Class Test
    Private t As Integer
    Sub New(ByVal tv As Integer)
        '构造函数 
        Me.t = tv
    End Sub
    Sub New()
        '构造函数 
        Me.t = 0
    End Sub
End Class
Module Program
    Sub Main(args As String())
        Dim x1? As Boolean
        Dim x2? As Boolean = False
        Dim x3? As Boolean = New Boolean
        Dim t1 As Test
        Dim t2 As Test = New Test(20)
        Dim t3 As Test = New Test

        Console.WriteLine($"t1 is nothing:{t1 Is Nothing} {vbCrLf}
                            t2 is nothing:{t2 Is Nothing} {vbCrLf}
                            t3 is nothing:{t3 Is Nothing} {vbCrLf}")

        Console.WriteLine($"x1 is nothing:{x1 Is Nothing} {x1} {vbCrLf}
                            x2 is nothing:{x2 Is Nothing} {x2} {vbCrLf}
                            x3 is nothing:{x3 Is Nothing} {x3} {vbCrLf}")
    End Sub
End Module
t1 is nothing:True

                            t2 is nothing:False

                            t3 is nothing:False

x1 is nothing:True

                            x2 is nothing:False False

                            x3 is nothing:False False


F:\learn\vblearn2-console\bin\Debug\netcoreapp3.1\vblearn2-console.exe (进程 200)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .

标签:nothing,默认值,Dim,Nothing,visual,2019,类型,null
来源: https://blog.csdn.net/AI_LX/article/details/112506143