Vb.net “与”的区别是什么&引用;字符串变量中什么都没有?
我一直没有使用任何东西将变量初始化为空,但我发现我们也可以使用“”,所以我更改了所有初始变量,以使代码更短、更整洁 但它有相同的输出吗 变量“”和Nothing之间有什么区别 不同之处在于,如果将变量初始化为Vb.net “与”的区别是什么&引用;字符串变量中什么都没有?,vb.net,Vb.net,我一直没有使用任何东西将变量初始化为空,但我发现我们也可以使用“”,所以我更改了所有初始变量,以使代码更短、更整洁 但它有相同的输出吗 变量“”和Nothing之间有什么区别 不同之处在于,如果将变量初始化为”,则其值为空字符串。如果将其初始化为Nothing,则其值为Nothing(空对象引用) 您应该根据使用变量的目的,使用适当的值初始化变量。有时那将是什么都没有,其他时间是什么都没有,其他时间是什么都没有,其他时间是什么都没有,其他时间是什么都没有。这完全取决于变量的用途。我假设您在本例中
”
,则其值为空字符串。如果将其初始化为Nothing
,则其值为Nothing
(空对象引用)
您应该根据使用变量的目的,使用适当的值初始化变量。有时那将是什么都没有,其他时间是什么都没有,其他时间是什么都没有,其他时间是什么都没有,其他时间是什么都没有。这完全取决于变量的用途。我假设您在本例中指的是字符串变量。假设你有
Dim myString As String = Nothing
你有什么?您有一个名为myString
的已声明变量,但实际上它没有任何值-它只是一个占位符,用于表示值的位置。如果您试图在此时使用它,您将得到一个空引用异常,因为这就是:一个空引用。现在让我们假设您有:
Dim myString As String = "" 'Or indeed String.Empty
您现在拥有的是一个定义的变量,它实际上有一个值。空字符串可能意义不大,但它是一个实际值,因此,如果您尝试使用它,将不会再获得null引用异常,因为它不是null引用:它是对有效值的引用
我个人的偏好是始终确保引用类型的变量在声明时正确初始化。使用
Nothing
不会以任何方式进行初始化-默认情况下它们是Nothing
,因此您不会更改任何内容。对字符串变量使用”
或String.Empty
(它们在功能上是等效的),这不仅是因为toherwise VS会警告您,如果您在变量设置值之前使用该变量(如果您启用了选项Strict
,则应该启用该选项),则会出现空引用异常.我的意思是,我想首先使用一个值为空的变量,使用ex.Dim Name作为String=Nothing来Dim Name作为String=“”