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)類(lèi)似于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)舒服多了有沒(méi)有。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#多線(xiàn)程ThreadPool線(xiàn)程池詳解
這篇文章主要為大家詳細(xì)介紹了C#多線(xiàn)程ThreadPool線(xiàn)程池的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
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-12
C#微信公眾號(hào)開(kāi)發(fā)之用戶(hù)管理
這篇文章介紹了C#微信公眾號(hào)開(kāi)發(fā)之用戶(hù)管理,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
C#程序連接數(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

