C# default關鍵字
生活随笔
收集整理的這篇文章主要介紹了
C# default關鍵字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
據(jù)我所知,default關(guān)鍵字在C#有兩種用法,一是用在Switch語句中,二是用在泛型中。
兩種用法分別如下:
1、在switch語句中,如果沒有任何 case 表達式與開關(guān)值匹配,則控制傳遞給跟在可選 default 標簽后的語句。如果沒有 default 標簽,則控制傳遞到 switch 以外。 ????? int?id?=?int32.Parse(Console.ReadLine());
??????switch?(id)
??????{
??????????case?1:?
??????????????Console.WriteLine("Lee");
??????????????break;
??????????case?2:
??????????????Console.WriteLine("Tang");
??????????????break;
??????????default:
????????????? Console.WriteLine("Sorry,?no?one?match?this?ID!");
??????????????break;
??????}
2、在泛型類和泛型方法中,在預(yù)先未知以下情況時,如何將默認值分配給參數(shù)化類型 T:
????? T 是引用類型還是值類型,如果 T 為值類型,則它是數(shù)值還是結(jié)構(gòu)。
public?class?GenericClass<T>
{
????public?T?DoSTH(arg)
????{
????????T?temp?=?default(T);
????????if?(arg?!=?null)
????????{
????????????temp?=?arg.Favs;
????????}
????????return?temp;
????}
????//...
}
??? 給定參數(shù)化類型 T 的一個變量 t,只有當 T 為引用類型時,語句 t = null 才有效;只有當 T 為數(shù)值類型而不是結(jié)構(gòu)時,語句 t = 0 才能正常使用。解決方案是使用 default 關(guān)鍵字,此關(guān)鍵字對于引用類型會返回空,對于數(shù)值類型會返回零。對于結(jié)構(gòu),此關(guān)鍵字將返回初始化為零或空的每個結(jié)構(gòu)成員,具體取決于這些結(jié)構(gòu)是值類型還是引用類型。
兩種用法分別如下:
1、在switch語句中,如果沒有任何 case 表達式與開關(guān)值匹配,則控制傳遞給跟在可選 default 標簽后的語句。如果沒有 default 標簽,則控制傳遞到 switch 以外。 ????? int?id?=?int32.Parse(Console.ReadLine());
??????switch?(id)
??????{
??????????case?1:?
??????????????Console.WriteLine("Lee");
??????????????break;
??????????case?2:
??????????????Console.WriteLine("Tang");
??????????????break;
??????????default:
????????????? Console.WriteLine("Sorry,?no?one?match?this?ID!");
??????????????break;
??????}
2、在泛型類和泛型方法中,在預(yù)先未知以下情況時,如何將默認值分配給參數(shù)化類型 T:
????? T 是引用類型還是值類型,如果 T 為值類型,則它是數(shù)值還是結(jié)構(gòu)。
public?class?GenericClass<T>
{
????public?T?DoSTH(arg)
????{
????????T?temp?=?default(T);
????????if?(arg?!=?null)
????????{
????????????temp?=?arg.Favs;
????????}
????????return?temp;
????}
????//...
}
??? 給定參數(shù)化類型 T 的一個變量 t,只有當 T 為引用類型時,語句 t = null 才有效;只有當 T 為數(shù)值類型而不是結(jié)構(gòu)時,語句 t = 0 才能正常使用。解決方案是使用 default 關(guān)鍵字,此關(guān)鍵字對于引用類型會返回空,對于數(shù)值類型會返回零。對于結(jié)構(gòu),此關(guān)鍵字將返回初始化為零或空的每個結(jié)構(gòu)成員,具體取決于這些結(jié)構(gòu)是值類型還是引用類型。
轉(zhuǎn)載于:https://www.cnblogs.com/millen/archive/2009/03/05/1403894.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的C# default關鍵字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IE7关闭窗口不提示确认的js
- 下一篇: 部署承载于 Internet 信息服务中