Vb.net VB中的哪些类具有默认初始化?

Vb.net VB中的哪些类具有默认初始化?,vb.net,Vb.net,我甚至不确定默认初始化是否正确 例如,我知道字符串默认为“”。如果我们声明一个字符串而不初始化它,它就是“” 我们还知道,大多数数字,长、整数、单、双,默认为0或false 因此dim a=list(of boolean)(100)将给出100个布尔值为false的列表 有样品吗?vb.net中的变量总是预初始化吗 奖励:其他语言的呢?哪些语言有此功能,哪些语言没有此功能?Hmm,不,未初始化的字符串默认为空。与任何引用类型一样。运行时保证使用二进制零初始化变量的存储。根据变量类型的不同,它表示

我甚至不确定默认初始化是否正确

例如,我知道字符串默认为“”。如果我们声明一个字符串而不初始化它,它就是“”

我们还知道,大多数数字,长、整数、单、双,默认为0或false

因此
dim a=list(of boolean)(100)
将给出100个布尔值为false的列表

有样品吗?vb.net中的变量总是预初始化吗


奖励:其他语言的呢?哪些语言有此功能,哪些语言没有此功能?

Hmm,不,未初始化的字符串默认为空。与任何引用类型一样。运行时保证使用二进制零初始化变量的存储。根据变量类型的不同,它表示Nothing、0、False、Keys.None等。该变量的任何链接?
Dim a=New List(Of Boolean)(100)
不会给出值为False的100个布尔值的列表。这预先定义了一个容量,但您在其中没有项目。尝试
Console.WriteLine(a(10))
以获得一个解释错误的异常。对于默认为Nothing的字符串,一个令人困惑的问题可能是该字符串变量是否使用了vb运行时或框架方法。看见例如,使用
Dim s作为String
Debug.Print(IsNothing.ToString)
打印“True”,
Debug.Print(Len.ToString)
打印“0”,而
Debug.Print(s.Length.ToString)
将抛出一个NullReferenceException。所以所有对象都被初始化为nothing,所有值类型都变为0?