可空型別可以表示所有實際型別的值加上null。如果和資料庫打交道,這就會很有用,因為在資料庫表中遇到未定義的列是很常見的事情。
為了定義乙個可空變數型別,應在底層資料型別中新增問號(?)作為字尾。注意,這種語法只對值型別是合法的,區域性可空變數必須賦值乙個初始值。
//定義一些區域性可空型別
int?a =
10;double?b
=3.14
;bool?c
=null
;char?d
='a'
;int? e
=new
int?[2
];//
錯誤!字串是引用型別
string?s
="zhxdean";
??操作符,在獲得的值實際上是null時,我們可以用這個操作符給乙個可空型別(不單單是值型別,也可以是引用型別)賦值。使用??操作符的好處是,他比傳統的if/else語法更加緊湊。
可空型別例子:
class
program
}class
cat//
注意string型別不能有?
private
string
name
=null
;public
string
name
set}
public
string
getname()
}
C 可空型別 和 語法
public void getinfo int?pagesize int?代表 pagesize 可以為null pagesize pagesize 2 上面這一行 和如下 等同,它的意思就是pagesize為null嗎,如果是就返回2,如果不是就返回pagesize pagesize pagesi...
C 可空型別
可空型別只能用於值型別,不能用於引用型別,引用型別本身支援null值。如果直接把null賦值給int型別,會出現乙個錯誤 無法將 null 轉換成 int 因為它是一種值型別 賦值時應該使用 int?a null 可空型別與一元或二元運算子一起使用是,如果乙個運算元或兩個運算元都是null,其結果為...
可空型別 C Sharp
1.int num null 2.可空型別的 3.可空型別的定義 參見資料夾裡的demo。的執行結果 介紹兩個方法 1.nullable.getvalueordefault方法 不帶引數 其返回值 自己理解的返回值 返回當前值或者預設值0。2.nullable.getvalueordefault t...