[英]How do I make non-value types nullable in C#?
例如:
public class Stereo {
public Speaker? LeftSpeaker;
public int? Volume;
}
int?
工作正常,但我無法讓揚聲器可以為空。 這對谷歌來說實在是太難了,我覺得這很簡單......
你為什么要那樣? 可以設置非值類型(即引用類型)並將其與null
進行比較。
添加Nullable<T>
過引用類型的對象會產生空性的兩層包裝; 無意義的復雜性,因此是不允許的。
很簡單。 “非值”類型實際上在.NET中稱為引用類型,並且可以自動為空。 只需改變您的代碼:
public class Stereo {
public Speaker LeftSpeaker; // ? removed for ref type
public int? Volume;
}
狂野贓物:
public class Stereo {
public Speaker LeftSpeaker;
public int? Volume;
public Stereo() {
LeftSpeaker = null; // Mission accomplished.
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.