C#8.0新語(yǔ)法using?declaration
我們?cè)诖a中經(jīng)常使用using保障非托管資源的釋放
static void Main(string[] args) { using (var options = Parse(args)) { if (options["verbose"]) { WriteLine("Logging..."); } ... } // options disposed here }
using雖然釋放數(shù)據(jù)非常有效,但是有的時(shí)候會(huì)帶來(lái)過(guò)多的縮進(jìn),導(dǎo)致代碼不好閱讀。
using (var a = ...) { //do something 1 using (var a = ...) { //do something 2 using (var a = ...) { //do something 3 } } }
在C# 8.0中引入了一個(gè)新的using語(yǔ)法,可以不用花括號(hào),變量出了其生命周期自動(dòng)釋放。 該語(yǔ)法功能上有點(diǎn)類似于C++的scoped_ptr,不過(guò)也支持async模式下的自動(dòng)dispose。
static void Main(string[] args) { using var options = Parse(args); if (options["verbose"]) { WriteLine("Logging..."); } } // options disposed here
在新語(yǔ)法的加持下,上面的代碼就可以簡(jiǎn)化如下
using var a = ...; //do something 1 using var b = ...; //do something 2 using var c = ...; //do something 3
看起來(lái)舒服多了有沒有。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
c#利用webmail郵件系統(tǒng)發(fā)送郵件示例分享
在C#中發(fā)送郵件的方式有2種,一種是使用webmail方式進(jìn)行發(fā)送,另外一種就是采用netmail發(fā)送的方式,這篇文章介紹了c#使用webmail方式發(fā)送郵件示例,大家參考使用吧2014-01-01利用Aspose.Cells和Excel模板導(dǎo)出統(tǒng)計(jì)數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了利用Aspose.Cells和Excel模板導(dǎo)出復(fù)雜的統(tǒng)計(jì)數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12C#程序連接數(shù)據(jù)庫(kù)及讀取數(shù)據(jù)庫(kù)中字段的簡(jiǎn)單方法總結(jié)
包括C#連接Access、Oracle或者SQL Server,這里整理了一些C#連接數(shù)據(jù)庫(kù)及從讀取數(shù)據(jù)庫(kù)中字段的簡(jiǎn)單方法總結(jié),需要的朋友可以參考下2016-05-05