如何在C#中創建可空(?)類?像:創建可空類
public class Hello1 {
public int Property1 { get; set; }
}
public class Hello2 {
Public Hello1? Property2 { get; set; } //Hello1 should work when it has "?"
}
我想讓Hello1類採取形式「Hello1?」如果需要的話。
如何在C#中創建可空(?)類?像:創建可空類
public class Hello1 {
public int Property1 { get; set; }
}
public class Hello2 {
Public Hello1? Property2 { get; set; } //Hello1 should work when it has "?"
}
我想讓Hello1類採取形式「Hello1?」如果需要的話。
您不需要爲引用類型創建可爲空的類型。他們已經是空的了。你只需要爲像int,布爾,小數等值類型做這個...
好吧我混淆了KeyValuePair上課。這是一個結構,所以它需要「?」。我試圖創造同樣的事情。這說得通。 – iefpw 2012-03-07 22:12:33
你不需要;參考類型可能已經是null
。至於結構,只需追加一個?
將工作。因此,請照常刪除?
,並使用== null
檢查null
。
Hello1
已經可以爲空。您的財產上不需要?
。
編輯 - 我懷疑你可能會試圖設置Hello1.Property1
爲空,而你希望做Hello1
可空將允許。它不會。如果你這樣做,你需要將Property1
標記爲空。
所有的類都可以爲空。可爲空數值類型不能爲空
Hello1
已經是引用類型,所以它可以是null
已經是。
可以使用空的語法「classname?」只能應用於ValueTypes,如int
,DateTime
,float
等,通常不能爲null
。
只需刪除問號。所有類都默認爲空。只有值類型的對象(如結構)需要明確可空。
這是一個重複http://stackoverflow.com/questions/3132667/nullable-class – evasilchenko 2012-03-07 21:58:43