2017-04-19 75 views

回答

3

至于@Filburt暗示,带问号的参数表示Nullable Value Type

请注意,你只能用这种方法对于那些确实可为空的数据类型。例如,字符串不能以这种方式使用。

Public Sub a(s As String?) 
    'Some code 
End Sub 

将产生以下编译错误

类型“字符串”必须是一个值类型或为了限制为“结构”类型参数与“可空”或可为空的改性剂“中使用?”。

数据类型可被制成可空

  • 布尔
  • 字节
  • 小数
  • 枚举
  • INT
  • 为sbyte
  • 结构
  • UINT
  • ULONG
  • USHORT
+0

很高兴知道。感谢你和@Filburt – Luke

+0

猜测'b as Date?'是我当时的一个可怕的代码示例,因为'DateTime'也不能为NULL。 – Luke

+0

技术上是,但问题仍然有效。它必须是一个值类型,而不是引用类型。诸如'String'和'DateTime'这样的引用类型可以设置为'Nothing',而在Value类型上这样做只会将其设置为默认值。 –

相关问题