自從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)元組(tuples)}
}
public class print
public string mobanpath
public int count
}
注意:元組依賴於一組基礎型別,不包括在預覽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)literal improvements,,");
console.readline();
}public static string get(object a)
}
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 customerusing引用靜態類= "jane";
public string last = "doe";
}
using static system.console;更多c#6.0語言新特性using static system.math;
using static system.dayofweek;
class program
}
線上**可執行演示文件連線: 效果如下
參考文件:
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...