我正在研究我的新MVC书,当然,样本都像往常一样在c#中.
有一行代码说
public bool? WillAttend { get; set; }
Run Code Online (Sandbox Code Playgroud)
作者解释说,问号表明这是一个可以为空的(三态)布尔,可以是真的,错误的.或者为null.(新的C#3惯例.)
vb.net是否支持这样的任何约定.当然我可以在vb.net中声明一个布尔值,我可以显式地将其设置为Null(在vb.net中为Nothing).
有什么不同.在c#中还有更多内容吗?好处?
Kre*_*dns 40
您可以在VB中以3种方式声明可以为null的值:
Dim ridesBusToWork1? As Boolean
Dim ridesBusToWork2 As Boolean?
Dim ridesBusToWork3 As Nullable(Of Boolean)
Run Code Online (Sandbox Code Playgroud)
进一步阅读:MSDN - 可空值类型(Visual Basic).
Joe*_*orn 24
bool?
只是可以为null的值类型的简写语法:即Nullable<bool>
Boolean?
或Nullable(Of Boolean)
.你可以像这样写一个支持属性:
Private _willAttend As Nullable(Of Boolean)
Public Property WillAttend As Nullable(Of Boolean)
Get
Return _willAttend
End Get
Set(value As Nullable(Of Boolean))
_willAttend = value
End Set
End Property
Run Code Online (Sandbox Code Playgroud)
或者只使用这样的自动实现的属性:
Public Property WillAttend As Boolean?
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11715 次 |
最近记录: |