C# 7.1 是 C# 語言的第一個點版本(更新版本)。 它標誌着該語言發佈節奏的加速。 理想狀況下,能夠在每一個新功能準備就緒時更快推出新功能。 C# 7.1 增長了將編譯器配置爲匹配特定語言版本的功能。 從而能夠分別制定有關升級語言版本的決策和有關升級工具的決策。html
C# 7.1 增長了語言版本選擇配置元素、三個新的語言功能和新的編譯器行爲。express
最後,編譯器有 -refout
和 -refonly
兩個選項,可用於控制引用程序集生成。編程
若要使用單點版本中的最新功能,須要配置編譯器語言版本並選擇版本。api
Main
方法中使用 await
關鍵字。 在過去,須要編寫:
static int Main() { return DoAsyncWork().GetAwaiter().GetResult(); }
如今,能夠編寫:異步
static async Task<int> Main() {
// DoAsyncWork,包括其等待表達式: return await DoAsyncWork(); }
若是程序不返回退出代碼,能夠聲明返回 Task 的 Main
方法:async
static async Task Main() { await SomeAsyncMethod(); }
如需瞭解更多詳情,能夠閱讀編程指南中的異步 Main 一文。ide
Func<string, bool> whereClause = default(Func<string, bool>);
Func<string, bool> whereClause = default;
若要詳細瞭解此加強功能,能夠參閱 C# 編程指南中的默認值表達式一文。工具
此加強功能也會更改某些default 關鍵字 的分析規則。ui
int count = 5; string label = "Colors used in the map"; var pair = (count: count, label: label);
元組元素的名稱可經過在 C# 7.1 中初始化元組時使用的變量進行推斷:spa
int count = 5; string label = "Colors used in the map"; var pair = (count, label); // element names are "count" and "label"
若要詳細瞭解此功能,能夠參閱元組一文。
is
和 switch
類型模式的模式表達式的類型可能爲泛型類型參數。 這可能在檢查 struct
或 class
類型且要避免裝箱時最有用。