警告:变量在分配值之前通过引用传递。运行时

时间:2017-10-31 05:22:43

标签: .net vb.net warnings nullreferenceexception

我在vb.net上工作,我得到了未指定引用变量的上述警告。当我将 Nothing 分配给变量时,警告消失。现在我的问题是,为参考变量分配 Nothing 值有什么区别?即使我没有明确指定Nothing,那么默认值 Nothing 只有我猜?如果我错了,请纠正我。

PS:这就是微软所说的"如果从未为变量赋值,它将保留其数据类型的默认值。对于参考数据类型,该默认值为Nothing。"以下是完整的链接:https://docs.microsoft.com/en-us/dotnet/visual-basic/misc/bc42030

1 个答案:

答案 0 :(得分:2)

您会注意到这是一个警告,而不是错误。代码没有什么特别的错误,这就是为什么它不是错误。 ByRef参数用于将数据传入和传出方法,因此如果您在将该变量作为参数传递之前忘记将其指定为值,则假定NullReferenceException假定为Nothing该参数有一个值。通过明确地将变量设置为Nothing,您可以告诉编译器您特别希望变量为__init__(),并且它不仅仅是您忘记分配其他值。