C# 6和 VB 12的最新特性列表
隨著下個版本的C#釋出日逐漸臨近,那些還沒有完成的特性必須被砍掉。最近從特性列表中被砍掉的特性包括主要建構函式(primary constructor)和宣告表示式(declaration expression)。Mads Torgersen寫道:
正如我之前所說的一樣,語言特性在這次釋出中只是第二等級的考慮。這次釋出的主要目標是出色地完成Roslyn價值命題的首個釋出,包括在IDE中對語言特性更深入的理解,以及讓所有人都可以通過一套健壯和完善的API進行訪問。為了更好地實現這次提交的內容,我們不得不對語言特性進行一些相應的縮減。
好在並不是只有壞訊息,一個之前從未被微軟提到過的新特性即將隨C# 6釋出,這就是字串值插入(string interpolation),該特性允許開發者對字串直接進行內聯,而無需顯式地呼叫String.Format方法。字串值插入在2009年時曾作為一個實驗性特性加入到Mono編譯器中。
下個版本中將包含的特性包括以下內容:
- 自動屬性的初始化器(VB中已具有該特性)
- 只包括Get方法的自動屬性
- 在建構函式中為只包括Get方法的自動屬性傳值
- 無引數的結構體(struct)建構函式
- 直接訪問靜態成員(VB中已具有該特性)
- Dictionary的初始化器(僅限於C#)
- 在catch與finally中呼叫await(C#中已完成,VB尚未確定)
- 異常過濾器(VB中已具有該特性)
- Typecase(VB尚未確定)
- 部分(Partial)模組(僅限於VB中,不適用於C#)
- 部分(Partial)介面(C#中已具有該特性)
- 多行字串(C#中已具有該特性)
- 獲取某一年第一天日期的日期表示式(僅限於VB)
- 某行程式碼延續的註釋(僅限於VB,不適用於C#)
- TypeOf和IsNot(僅限於VB,不適用於C#)
- 在成員定義中使用表示式(僅限於C#)
- Null值傳遞(C#中已完成,VB尚未確定)
- Params引數接受IEnumerable型別(尚未確定)
- 字串值插入(已在計劃中)
- nameof操作符(C#中已完成,VB已在計劃中)
- #pragma指令(C#中已具有該特性)
- 在自動屬性中指定欄位(尚未確定)
- 你可以在語言特性狀態頁面中看到尚未被砍掉的全部特性列表。
注意:InfoQ之前曾錯誤地報導了模式匹配會成會C# 6與VB 12的一部分,特此澄清。
相關文章
- C# 6與VB 12即將加入模式匹配C#模式
- VB程式設計師眼中的C# 6 (轉)程式設計師C#
- 簡短介紹 C# 6 的新特性C#
- ECMAScript正規表示式6個最新特性
- VB.NET和C#的滑鼠按鍵取得方法C#
- 一小時學會 C# 6 的新特性C#
- 程式碼換膚術(一)——C#和VB (轉)C#
- 詳解C#特性和反射(一)C#反射
- 詳解C#特性和反射(四)C#反射
- 詳解C#特性和反射(三)C#反射
- 詳解C#特性和反射(二)C#反射
- ES6中的新特性:Iterables和iterators
- 特性(C# 和 Visual Basic) BASIC 快速建模特性的程式語言C#
- VB5裡面實現VB6的InstrRev()和Split()一樣的替換函式 (轉)函式
- 使用C#,VB和Java將PDF轉換為DOC / DOCXJava
- C#特性C#
- C#特性-匿名方法和Lambda表示式C#
- VB.NET與C#的完美結合C#
- VB程式設計師眼中的C# (轉)程式設計師C#
- VB6升級到VB.NET(1) App的變化 (轉)APP
- 使用Microsoft Roslyn提取C#和VB.NET原始碼中的字串常量ROSC#原始碼字串
- C# 10的新特性C#
- C# 6.0 的新特性C#
- C#檔案列表C#
- ES6中let 和 const 的新特性
- C#/VB.NET 實現Word和ODT文件相互轉換C#
- ASP.NET Razor – C# 和 VB 程式碼語法簡介ASP.NETC#
- VBS VBA VB C#程式開發C#
- MongoDB社群版和企業版版本特性差異列表MongoDB
- 【Qt6】列表模型——樹形列表QT模型
- Java 9 – 終極特性列表Java
- 從VB 6到VB.NET——窗體特殊應用 (轉)
- VB程式設計師眼中的C# 2 (轉)程式設計師C#
- VB程式設計師眼中的C# 4 (轉)程式設計師C#
- VB程式設計師眼中的C# 3 (轉)程式設計師C#
- VB程式設計師眼中的C# 5 (轉)程式設計師C#
- VB程式設計師眼中的C# 7 (轉)程式設計師C#
- VB程式設計師眼中的C# 8 (轉)程式設計師C#