C 各個版本中的新增特性詳解

2022-01-15 14:18:29 字數 3083 閱讀 6049

自從2023年初期發布以來,c#程式語言不斷的得到改進,使我們能夠更加清晰的編寫**,也更加容易維護我們的**,增強的功能已經從1.0搞到啦7.0甚至7.1,每一次改過都伴隨著.net framework庫的相應支援,也不斷的帶給我們期待與驚喜。下面我們就對c#一路走到現在,做乙個回顧與學習。

c#的設計目標是有以下幾點:

c#版本

c#版本中新增的功能:

c#2.0 

c#3.0 

c#4.0 

c#5.0 

c#6.0 

c#7.0 

c#7.1 

參考文件:

在2023年visual studio 「15」 preview 4發布,c# 7.0便開始浮現,現在vs2017已經發布,c#7.0帶給我們的驚喜,我們也該一**竟啦。

c#7.0增加許多新功能,重點是資料,**簡化和效能上。

out variables

目前在c#中,使用out引數不像我們想要的那麼流暢。在使用out引數呼叫乙個方法之前,首先必須宣告變數來傳遞給它。您也不能使用var它們來宣告它們,但需要指定完整的型別。

public void printcoordinates(point p)

, )");

}

在c#7中再來看看

public void printcoordinates(point p)

, )");

}

模式匹配

c#7中

public static void printstars(object o)

以前版本需要轉化

public static void printstars(object o)

switch statements with patterns 擴充套件switch語句使用模式匹配

public static void printstars(object o)

}

}

public class print

public string mobanpath

public int count

}

元組(tuples)

注意:元組依賴於一組基礎型別,不包括在預覽4中。要使功能正常工作,您可以通過nuget輕鬆獲取它們:

static void main(string args)

,b:");

var result1 = gets();

var result = get();

console.writeline($"item1:,item2:,item3:");

console.writeline($"a:,b:,c:");

console.readline();

}static (string, int, datetime) gets()

static (string a, int b, datetime c) get()

區域性函式

簡單的說,就是在方法裡面寫方法然後自己呼叫。

注意:在預覽4中,本地函式必須在呼叫之前宣告。這個限制將被鬆開,所以一旦他們讀取的區域性變數被明確地分配,就可以呼叫這個限制。

static void main(string args)

,,");

console.readline();

}public static string get(object a)

}

literal improvements

c#7.0允許在數字文字中_作為數字分隔符出現:

var d = 123_456;

var x = 0xab_cd_ef;

你可以把它們放在數字之間,以提高可讀性。它們對價值沒有影響。

另外,c#7.0引入了二進位制文字,因此您可以直接指定位模式,而不必以心臟知道十六進製制符號。 

var b = 0b1010_1011_1100_1101_1110_1111;
更多c#7.0的特性

請參考文件:

以下新功能在vs 2015及17中實現並可用。

add:新增,exists:已存在,n/a:對該語言沒有意義,no:不適用此版本。

下面我簡述幾個新功能,剩下的我會把文件連線拿出來自己觀摩。

字串插值

上面的**中都有體現。

var s = $" is  year} old";
字典索引初始化

var numbers = new dictionary;
自動屬性初始化

public class customer

= "jane";

public string last = "doe";

}

using引用靜態類

using static system.console;

using static system.math;

using static system.dayofweek;

class program

}

更多c#6.0語言新特性

線上**可執行演示文件連線: 效果如下

參考文件:

c#5.0參考文件

c#4.0參考文件

c#3.0參考文件

c#2.0參考文件

1、希望能關注我其他的文章。

2、部落格裡面有沒有很清楚的說明白,或者你有更好的方式,那麼歡迎加入左上方的2個***,我們一起學習**。

C 各個版本特性總結

歷史版本c 作為微軟2000年以後.net平台開發的當家語言,發展至今具有17年的歷史,語言本身具有豐富的特性,微軟對其更新支援也十分支援。微軟將c 提交給標準組織ecma,c 5.0目前是ecma發布的最新規範,c 6.0還是草案階段,c 7.1是微軟當前提供的最新規範。這裡僅僅列個提綱,由於c ...

android各個版本的新特性

android 4.0 2011年10月19日 ice cream sandwich 冰激凌三明治 新鎖屏介面 android4.0重新設計了鎖螢幕ui,下方的解鎖虛擬按鍵向周圍發射出微光,輕輕拖動就可以解鎖,比原來在ui上確實有很大的進步。全新widget排列 主螢幕上的widget外掛程式是an...

C的各個版本及其區別

1987年,brian kernighan 和 dennis ritchie合著的the c programming language 第1版是公認的c標準。它定義了c語言,但沒有定義c庫。它不是官方的標準。這個標準化的工作在美國國家標準局 ansi 的框架中進行 1983 1988 最終結果是19...