隨筆分類 - [C#6] 新增特性

來源:互聯網
上載者:User

標籤:時間   靜態   tde   類型   運算式   閱讀   url   asp   ons   

C#6.0中引入的基本特性總結

[C#6] 7-索引初始化器摘要: 0. 目錄 C#6 新增特性目錄 1. 老版本的代碼 早C#3中引入的集合初始化器,可是讓我們用上面的文法來在聲明一個字典或者集合的時候立即初始化一些項進去,其實在C#3中這是個文法糖,實質編譯後的結果是調用字典或者集合的Add方法逐一添加這些項。但是有一點小小的不直觀。先看看這個版的IL吧: 本質閱讀全文posted @ 2016-07-09 22:00 Blackheart 閱讀(150) | 評論 (11) 編輯[C#6] 6-運算式形式的成員函數摘要: 0. 目錄 C#6 新增特性目錄 1. 老版本的代碼 通常情況下,有些簡單的唯讀屬性和方法只有一行代碼,但是我們也不得不按照繁瑣的文法去實現它。C#6帶了了一種和lambda文法高度一致的精簡文法來協助我們簡化這些文法。先看看老版本的IL代碼(這裡我就不展開IL了,看下結構即可,都是普通的屬性和方法閱讀全文posted @ 2016-07-08 21:49 Blackheart 閱讀(105) | 評論 (0) 編輯[C#6] 5-自動屬性增強摘要: 0. 目錄 C#6 新增特性目錄 1. 老版本代碼 通常情況下,C#的屬性可以很好的協助我們完成工作,比如上面的代碼。在為屬性賦值的時候,我們可以在任意地方為其賦值。但是並沒有一種像是欄位一樣的聲明且立即初始化的文法來簡化預設值的設定。C#6為我們帶來了這種新的文法,像是為欄位賦值一樣為屬性賦值。 閱讀全文posted @ 2016-07-06 22:33 Blackheart 閱讀(339) | 評論 (0) 編輯[C#6] 4-string 插值摘要: 0. 目錄 C#6 新增特性目錄 1. 老版本的代碼 通常我們在格式化字串的時候會使用string的靜態方法Format來進行字串拼接,然後使用{0}...{n}來充當預留位置。如果{n}過大,代碼的可讀性就會急劇下降,C#6引入一個新文法來簡化這種書寫方式。 2. $"{xxx:}" 我們之間來閱讀全文posted @ 2016-07-05 21:57 Blackheart 閱讀(239) | 評論 (1) 編輯[C#6] 3-null 條件運算子摘要: 0. 目錄 C#6 新增特性目錄 1. 老版本的代碼 在我們使用一個對象的屬性的時候,有時候第一步需要做的事情是先判斷這個對象本身是不是bull,不然的話你可能會得到一個 System.NullReferenceException 的異常。雖然有時候我們可以使用三元運算子 string name =閱讀全文posted @ 2016-07-04 21:26 Blackheart 閱讀(586) | 評論 (4) 編輯[C#6] 2-nameof 運算子摘要: 0. 目錄 C#6 新增特性目錄 1. 老版本的代碼 這段代碼並沒什麼問題,運行良好。隨著時間的推移,有一天,我覺得args這個參數名不合適,想改一個更直觀的名字filePaths,表示我要接受一個檔案路徑的數組。然後我們就直接把args這個名字給重構了,but,把 throw new Argume閱讀全文posted @ 2016-07-03 00:34 Blackheart 閱讀(587) | 評論 (0) 編輯[C#6] 1-using static摘要: 0. 目錄 C#6 新增特性目錄 1. 老版本的代碼 上面這段代碼大家再熟悉不過了,使用靜態類Console的靜態方法WriteLine輸出一行字串。插播點關於CLR的相關知識,CLR在執行IL的期間時候是麼有命名空間的概念的,它所知道的僅僅是成員的完全限定名(C#1 類型基礎)。也就是在調用Co閱讀全文posted @ 2016-07-02 19:34 Blackheart 閱讀(584) | 評論 (0) 編輯[C#6] 0-概覽摘要: 1. C#6 新特性圖譜 C#6的新特性主要由編譯器(“Roslyn”)帶來,並不依賴CLR和.NET Framework的升級,我們可以認為這個版本的新語言特性的主要目的為了簡化代碼書寫方式,讓我們以一種更直觀高效的方式去編程,本質上是一些文法糖。主要特性如所示,針對每個特性詳細介紹如下: 2閱讀全文posted @ 2016-07-02 17:40 Blackheart 閱讀(208) | 評論 (0) 編輯

隨筆分類 - [C#6] 新增特性

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.