VB.NET:为什么这个空值不起作用?

VB.NET:为什么这个空值不起作用?,vb.net,Vb.net,此语法不正确吗?NullableOf T仅适用于不可为空的值类型。String是一种class-a引用类型。String类型的变量可能已经有空值。我很确定Dim x As String=Nothing会将x设置为Nothing。@Dan:谢谢,删除了该位。也许这只是在VB中与“无”的比较。如果您将x设置为,然后打印x=Nothing,它将打印为真。@Jon:哇,真奇怪。。。我想我假设VB.NET的=运算符将使用System.String类型的op_相等方法。可能是这样,但从“无”到“正在进行”的

此语法不正确吗?

NullableOf T仅适用于不可为空的值类型。String是一种class-a引用类型。String类型的变量可能已经有空值。

我很确定Dim x As String=Nothing会将x设置为Nothing。@Dan:谢谢,删除了该位。也许这只是在VB中与“无”的比较。如果您将x设置为,然后打印x=Nothing,它将打印为真。@Jon:哇,真奇怪。。。我想我假设VB.NET的=运算符将使用System.String类型的op_相等方法。可能是这样,但从“无”到“正在进行”的转换有些奇怪?@Dan-VB.NET中的字符串比较需要一个助手函数,因为选项Compare。该helper函数不将任何内容视为空字符串。向后兼容很难。Integer是一种不可为null的值类型,可以通过As NullableOf Integer使其为null,Integer也是一种不可为null的值类型吗?这里有幽默。
dim str as nullable(of string)