扒一扒C# 8.0新功能,程序員會(huì)買單嗎?
根據(jù) .Net 基金會(huì)發(fā)布的編程語言***路線圖,為了提供代碼質(zhì)量,Microsoft C# 8 將具有可空引用類型。該功能除了為現(xiàn)有的非空引用添加安全引用類型,編譯器在遇到可空類型的引用或 Null 值分配給非空變量類型時(shí)發(fā)出警告。
可空引用類型旨在幫助開發(fā)人員阻止空引用異常,它的核心是表達(dá)一個(gè)無效意圖。當(dāng)某些東西不為空時(shí),編譯器會(huì)去識(shí)別,如果用戶將 null 賦值給未被聲明為 null 的應(yīng)用時(shí),編譯器會(huì)給出警告。通過這種方法,讓程序員盡快找到錯(cuò)誤并且迅速改正。
但是,遺憾的是微軟現(xiàn)在還沒有透露 C# 8 的發(fā)布時(shí)間。
除了上述功能,C# 8 還有以下計(jì)劃功能:
采取相應(yīng)手段來處理違規(guī)行為。
增加默認(rèn)接口方法,接口可以通過虛擬擴(kuò)展方法進(jìn)行演進(jìn)。API 作者可以在將來的版本中為接口添加方法,而不會(huì)破壞源或二進(jìn)制兼容性。該功能已經(jīng)可用于 Java 等語言。
異步流功能提供了一個(gè)異步版本的抽象 IEnumerable,它是可以枚舉非特定集合的基本接口。
擴(kuò)展,提供一種定義擴(kuò)展成員的新類型。雖然 C# 中已經(jīng)有作為擴(kuò)展類型實(shí)例的方法,但是C# 8 將通過支持靜態(tài)和實(shí)例成員來擴(kuò)展該功能。