據我所知,default關鍵字在C#有兩種用法,一是用在Switch語句中,二是用在泛型中。
兩種用法分別如下:

1、在switch语句中,如果没有任何 case 表达式与开关值匹配,则控制传递给跟在可选 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、在泛型类和泛型方法中,在预先未知以下情况时,如何将默认值分配给参数化类型 T:
      T 是引用类型还是值类型,如果 T 为值类型,则它是数值还是结构。

public class GenericClass<T>
{
    public T DoSTH(arg)
    {
        T temp = default(T);

if (arg != null)
        {
            temp = arg.Favs;
        }
        return temp;
    }
    //...
}

给定参数化类型 T 的一个变量 t,只有当 T 为引用类型时,语句 t = null 才有效;只有当 T 为数值类型而不是结构时,语句 t = 0 才能正常使用。解决方案是使用 default 关键字,此关键字对于引用类型会返回空,对于数值类型会返回零。对于结构,此关键字将返回初始化为零或空的每个结构成员,具体取决于这些结构是值类型还是引用类型。

转载于:https://www.cnblogs.com/millen/archive/2009/03/05/1403894.html

C# default關鍵字相关推荐

  1. c语言中continue在case中,C語言switch case 語句中能否使用continue 關鍵字?

    在C語言的學習中,我學習到switch case語句,我發現不能使用continue關鍵字. 代碼如下: #include int main() { int a; printf("input ...

  2. java中speak方法的意思_Java中的關鍵字

    首先是訪問控制的關鍵字,分 public.protected.default.private四種,權限如下: (權限)      public      protected     default   ...

  3. java sleep join_Java多線程之sleep,wait,join和yield關鍵字

    在java或者android中,使用Thread和Runnable就可以玩多線程了,這個成本比較低,也沒什么好說的,今天主要是針對多線程中主要的關鍵字wait,sleep,join和yield做個筆記 ...

  4. 1以下数字Oracle打印缺少0,Oracle SQL中缺少關鍵字

    我收到以下錯誤: ORA-00905: missing keyword 00905. 00000 - "missing keyword" 我的SQL: CREATE Table O ...

  5. pythonfor循环功能手工皂_裘.波勒《幫孩子找到自信的成長型數學思維:學好數學不必靠天賦,史丹佛大學實證研究、讓孩子潛力大爆發的關鍵方法》臉譜...

    幫孩子找到自信的成長型數學思維:學好數學不必靠天賦,史丹佛大學實證研究.讓孩子潛力大爆發的關鍵方法 MATHEMATICAL MINDSETS: Unleashing Students' Potent ...

  6. 石川圖 / 鱼骨图 / 關鍵要因圖 / 因果圖

    石川圖,又稱因果圖.關鍵要因圖.魚骨圖,是用圖解展示一定事件的各種原因的方法,是由日本學者石川馨(石川 馨)創立的因果模型圖.它常用於產品設計,來顯示某個總體效果的可能因子.石川圖常用在產品設計.或是 ...

  7. A段架構師的關鍵思考技術:戰術引導戰略

    前言:架构师要与技术人员共同寻找会赢的战术,然后与管理人员协调攸关的战略资源,将会赢的战术效益极大化.简单的设计造形,就如同迷雾丛林的地图般,非常有助于让技术和管理人员理解混沌和变化的本质性规律,消除 ...

  8. 主管帶人,更要帶心!這樣做,才是贏得公司市占率的關鍵

    你知道,台灣員工10個有9個上班時都「人在心不在」嗎?越來越多研究顯示,員工投入度(Employee Engagement)不僅與多項企業指標高度相關,更是組織邁向卓越的重要因素之一.來看看<D ...

  9. python股票交易策略_Python:股票演算法交易實務 145個關鍵技巧詳解

    商品描述 想要活用Python實作金融科技與資料分析嗎? 藉由145個技巧與案例的逐步演練及說明,帶領你進入程式交易的殿堂 金融科技是結合金融與科技的新興產業,包含支付.理財.交易.信貸等多個層面,其 ...

最新文章

  1. mybatis连接mysql数据库连接池_对于数据库连接池的一些思考和MyBatis的集成与使用...
  2. 数据中心采用液体冷却的障碍
  3. pbl和sbl_综合运用PBL和SBL教学法提高眼科带教质量的探索
  4. 12个git实战建议和技巧
  5. LeetCode#53 Maximum Subarray
  6. jenkins linux 发邮件,jenkins——邮件配置
  7. 好用的代码加密软件,编程,编译数据安全
  8. 有效的数独 python_LeetCode 36. 有效的数独 | Python
  9. 微软商店打不开,错误代码0x80131500
  10. 最简单的FRP内网穿透教程
  11. H5视频会议,直播,通话,教学,支持Webrtc、rtmp、sip、rtsp转协议、IPCAM、白板、桌面共享、免插件、web全平台、视频融合系统研发笔记。...
  12. st58服务器装系统,微pe硬盘安装系统教程
  13. 草丛效果-shader forge
  14. 重叠社区发现-LFM算法
  15. 理解C#中装箱和拆箱的概念
  16. Eight (康托展开、BFS )
  17. 计算机网络管理员初级是几级,计算机网络管理员初级试卷.pdf
  18. 如何在OS X照片中禁用iCloud照片同步
  19. Stay Hungry. Stay Foolish
  20. 【英语学习】十二星座Zodiac Signs的词源/词根/示例

热门文章

  1. python方差特征选择_使用scikitlearn进行方差分析的特征选择和交叉验证
  2. MySQL的日志管理
  3. 记录java在后台运行命令
  4. fatal error C1070: mismatched wabtags.h
  5. 第十一届河南省赛--H : Attack City and Capture Territory
  6. 坑 之 tensorflow使用sess.run处理图片时越来越慢,占用内存越来越大的问题
  7. 怎么让电脑变成无线路由器
  8. [BUUCTF-pwn]——[OGeek2019]babyrop
  9. 鸿蒙系统小卡片,升级鸿蒙101版本,UI审美升级了
  10. Struts2工作原理和框架扩展点