我从同事那里学到了一些代码,在他的一个方法中,他有一个布尔参数:ByVal showProactiveChases As Boolean?
。我不得不昨天查看?
运算符,看它是否为Nullable类型。我的问题是,如果我将其更改为:ByVal showProactiveChases As Nullable(Of Boolean)
,意义是否保持不变?我认为只要它没有改变意义,第二种方式就更具可读性。
答案 0 :(得分:3)
是的,含义完全相同。
Boolean?
和Nullable(Of Boolean)
将编译为完全相同的IL。
(我个人认为第一个版本更具可读性,但这完全取决于个人品味。)
答案 1 :(得分:2)
以下示例构造一个 可以为null的布尔类型并声明一个 那种类型的变量。你可以写 宣言有三种方式:
Dim ridesBusToWork1? As Boolean Dim ridesBusToWork2 As Boolean? Dim ridesBusToWork3 As Nullable(Of Boolean)
答案 2 :(得分:0)
是的,它是一样的。
?是Nullable<T>
答案 3 :(得分:0)