1. 程式人生 > >C#實體類中在資料型別後面新增問號是什麼意思

C#實體類中在資料型別後面新增問號是什麼意思

C#實體類中在資料型別後面新增問號是什麼意思

 public static DateTime? GetTimeStartByType(DataTimeType type, DateTime time)

 

C#語法中一個個問號(?)的運算子是指:可以為 null 的型別。
 MSDN上面的解釋:
在處理資料庫和其他包含不可賦值的元素的資料型別時,將 null 賦值給數值型別或布林型以及日期型別的功能特別有用。例如,資料庫中的布林型欄位可以儲存值 true 或false,或者,該欄位也可以未定義。
C#語法中兩個問號(??)的運算子是指null 合併運算子,合併運算子為型別轉換定義了一個預設值,以防可空型別的值為Null。
MSDN
上面的解釋: ?? 運算子稱為 null 合併運算子,用於定義可以為 null 值的型別和引用型別的預設值。如果此運算子的左運算元不為 null,則此運算子將返回左運算元(左邊表示式);否則當左運算元為 null,返回右運算元(右邊表示式)。