C 7 1 新增功能

2022-02-15 02:16:56 字數 1735 閱讀 3469

c# 7.1 是 c# 語言的第乙個點版本(更新版本)。 它標誌著該語言發布節奏的加速。 理想情況下,可以在每個新功能準備就緒時更快推出新功能。 c# 7.1 增加了將編譯器配置為匹配特定語言版本的功能。 從而可以分別制定有關公升級語言版本的決策和有關公升級工具的決策。

c# 7.1 增加了語言版本選擇配置元素、三個新的語言功能和新的編譯器行為。

最後,編譯器有-refout-refonly兩個選項,可用於控制引用程式集生成。

若要使用單點版本中的最新功能,需要配置編譯器語言版本並選擇版本。

01 非同步 main 方法

非同步 main 方法使你能夠在main方法中使用await關鍵字。 在過去,需要編寫:

static

intmain()

現在,可以編寫:

static

async taskmain()

如果程式不返回退出**,可以宣告返回 task 的main方法:

static

async

task main()

02 預設文字表示式

預設文字表示式是針對預設值表示式的一項增強功能。 這些表示式將變數初始化為預設值。 過去會這麼編寫:

func whereclause = default(func);

現在,可以省略掉初始化右側的型別:

func whereclause = default;

若要詳細了解此增強功能,可以參閱 c# 程式設計指南中的預設值表示式一文。

此增強功能也會更改某些default 關鍵字 的分析規則。

03 推斷元組元素名稱

此功能是對 c# 7.0 中引入的元組功能一次小型增強。 在初始化元組時,許多時候,賦值操作右側的變數名與用於元組元素的名稱相同:

int count = 5

;string label = "

colors used in the map";

var pair = (count: count, label: label);

元組元素的名稱可通過在 c# 7.1 中初始化元組時使用的變數進行推斷:

int count = 5

;string label = "

colors used in the map";

var pair = (count, label); //

element names are "count" and "label"

若要詳細了解此功能,可以參閱元組一文。

04 泛型型別引數的模式匹配

自 c# 7.1 起,isswitch型別模式的模式表示式的型別可能為泛型型別引數。 這可能在檢查structclass型別且要避免裝箱時最有用。

05 引用程式集生成

有兩個新編譯器選項可生成僅引用程式集:-refout-refonly

C 7 1 中的新增功能

2017 08 16 作者bill wagner olprod v radelg exdevillee c 7.1 是 c 語言的第乙個點版本 更新版本 它標誌著該語言發布節奏的加速。理想情況下,可以在每個新功能準備就緒時更快推出新功能。c 7.1 增加了將編譯器配置為匹配特定語言版本的功能。從而可...

C 7 1類的繼承與派生(PTA題目)

定義平面二維點類cpoint,有資料成員x座標,y座標,函式成員 建構函式複製建構函式 虛函式求面積getarea,虛函式求體積函式getvolume 輸出點資訊函式print。由cpoint類派生出圓類cirle類 新增資料成員半徑radius 函式成員 建構函式 複製建構函式 求面積getare...

C 2 0 新增功能

泛型 該語言中新增了一些泛型型別,使得程式設計師能夠實現程度很高的 重用,獲得更高的集合類效能。泛型型別只存在 arity 上的不同。也可以將引數強制為特定的型別。有關更多資訊,請參見泛型型別引數。迭代器 迭代器使得規定 foreach 迴圈將如何迴圈訪問集合的內容變得更加容易。分部類 分部型別定義...