代码之家  ›  专栏  ›  技术社区  ›  PhilPursglove

将参数标记为可以为空

  •  1
  • PhilPursglove  · 技术社区  · 15 年前

    我从一位同事那里获得了一些代码,在他的一个方法中,他有一个布尔参数: ByVal showProactiveChases As Boolean? . 我得查一下 ? 运算符昨天看到它表示一个可以为空的类型。我的问题是,如果我把它改为: ByVal showProactiveChases As Nullable(Of Boolean) ,意思是否保持不变?我认为只要它不改变意思,第二种方式的可读性就更好了。

    4 回复  |  直到 15 年前
        1
  •  3
  •   LukeH    15 年前

    是的,意思完全一样。

    Boolean? Nullable(Of Boolean) 将编译为完全相同的IL。

    (我个人觉得第一个版本更易读,但这完全取决于个人品味。)

        2
  •  2
  •   AakashM    15 年前

    There's a third option too :

    下面的示例构造 可为空的布尔类型并声明 该类型的变量。你可以写 声明有三种方式:

    Dim ridesBusToWork1? As Boolean
    Dim ridesBusToWork2 As Boolean?
    Dim ridesBusToWork3 As Nullable(Of Boolean)
    
        3
  •  0
  •   Frederik Gheysels    15 年前

    是的,是一样的。

    ?是 Nullable<T>

        4
  •  0
  •   Gerrie Schenck    15 年前

    是的,是吗?运算符实际上是可以为空或可以为空(T的)的快捷方式。