程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 6新特性及示例代碼,

C# 6新特性及示例代碼,

編輯:C#入門知識

C# 6新特性及示例代碼,


今天推薦的其實是一個Github開源項目,不過這個開源項目是專門介紹C# 6的最新特性,並給出了示例代碼。

我們知道,微軟即將發布Windows 10和Visual Studio 2015,在VS2015中會帶有最新版本的C# 6和VB 14。我想大家前期應該已經或多或少的對C# 6的一些新特性有所了解了。

在今天推薦的這個頁面(或者說是網站中),Robert MacLean 給出了一系列博文地址來逐一介紹了C# 6的新特性,並都附帶有示例代碼。涉及到如下C# 6的新特性:

  • 字典/索引初始化器(Dictionary Initialisers or Index Initialisers)。這個特性使得字典和列表集合的初始化變得更加容易。
  • 帶有初始化器的自動屬性(Auto-properties with initializers)。之前自動屬性的初始化只能在構造器中,現在可以寫到屬性上。
  • 只讀自動屬性(Read-only auto-properties)。其實之前的C#是支持實現只讀效果(讓set語句為private)的自動屬性的,不過現在可以真正的支持了。
  • 靜態using語句(Static Using Statements)。通過在using上附加static修飾符,讓靜態方法調用可以省略命名空間和類前綴了。
  • 在catch片段中支持await(Await in catch blocks)。這個特性顧名思義。
  • 異常過濾器(Exception Filtering)。在捕獲異常的時候,可以用額外的判斷條件來過濾執行流程是否進入當前catch片段。由於這個特性有很多奇巧淫技(比如之前我介紹過的用這個特性來實現C#的模式匹配),作者又用一篇博文詳細講解了更多用法(Additional Details on Exception Filtering)。
  • 空值傳播操作或也稱nullet操作符(Null Propogation (the nullet operator))。之前如果一個對象可能為空,那麼就需要先判斷再訪問其屬性,現在可以通過nullet操作符(或稱貓王操作符)“?.”來快捷的實現這樣的代碼邏輯。這個特性極大地依賴於Roslyn編譯器功能。
  • 獲取名稱字符串(NameOf)。這個特性和TypeOf類似,不過NameOf是獲取名稱字符串值的。有了這個特性,以後媽媽再也不用擔心我寫錯名稱了。
  • 成員內部代碼寫為表達式(Expression Bodied Members)。也就是可以把方法(這樣的類成員)的內部代碼直接寫為一個表達式,這樣一行代碼就可以完成方法的編寫。
  • 字符串插值(String Interpolation)。之前要把幾個變量構造為一個字符串,除了字符串連接,就是string.Format,現在可以在字符串中直接插入變量名稱即可。

以上博文寫得的內容都很詳實易懂,配有代碼。尤其還會先講述C#老版本是如何完成類似工作,在使用新語法後如何事倍功半。是C# 6新特性不可多得的學習資料。

博文的索引和具體代碼,可以“閱讀原文”來訪問。

原文地址:https://github.com/rmaclean/sharpsharpwithcsharp6

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved