1. 程式人生 > >C# defualt關鍵字默認值用法

C# defualt關鍵字默認值用法

內容 dia code log doc www. ons alt AR

原文:C# defualt關鍵字默認值用法

默認值表達式生成類型的默認值。 默認值表達式在泛型類和泛型方法中非常有用。 使用泛型類和泛型方法時出現的一個問題是,如何在無法提前知道以下內容的情況下將默認值賦值給參數化類型 T

  • T 是引用類型還是值類型。
  • 如果 T 是值類型,它是數值還是用戶定義的結構。

已知參數化類型 T 的變量 t,僅當 T 為引用類型時,語句 t = null 才有效。 賦值 t = 0 僅對數值類型有效,對結構無效。 解決方案是使用默認值表達式,該表達式對引用類型(類類型和接口類型)返回 null,對數值類型返回零。 對於用戶定義的結構,返回初始化為零位模式的結構,該結構根據成員是值還是引用類型,為每個成員生成 0 或 null

。 對於可為 NULL 的值類型,default 返回像任何結構一樣初始化的System.Nullable<T>。

default(T) 表達式不限於泛型類和泛型方法。 默認值表達式可用於任何托管類型

以上內容來自MSDN。

示例代碼: int iValue = default(int);
float fValue = default(float);
decimal dValue = default(decimal);
Console.Write("值類型測試:");
Console.WriteLine("{0},{1},{2}", iValue, fValue, dValue);

string strValue = default(string);
DateTime? dt = default(DateTime?);
User user = default(User);
Console.Write("引用類型測試:");
Console.WriteLine("{0},{1},{2}", (null == strValue), (null == user), (null == dt));
Console.WriteLine(); 運行結果:
技術分享圖片

C# defualt關鍵字默認值用法