C#8.0新語法using?declaration
我們在代碼中經(jīng)常使用using保障非托管資源的釋放
static void Main(string[] args)
{
using (var options = Parse(args))
{
if (options["verbose"]) { WriteLine("Logging..."); }
...
} // options disposed here
}using雖然釋放數(shù)據(jù)非常有效,但是有的時候會帶來過多的縮進,導致代碼不好閱讀。
using (var a = ...)
{
//do something 1
using (var a = ...)
{
//do something 2
using (var a = ...)
{
//do something 3
}
}
}在C# 8.0中引入了一個新的using語法,可以不用花括號,變量出了其生命周期自動釋放。 該語法功能上有點類似于C++的scoped_ptr,不過也支持async模式下的自動dispose。
static void Main(string[] args)
{
using var options = Parse(args);
if (options["verbose"]) { WriteLine("Logging..."); }
} // options disposed here在新語法的加持下,上面的代碼就可以簡化如下
using var a = ...; //do something 1 using var b = ...; //do something 2 using var c = ...; //do something 3
看起來舒服多了有沒有。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C#中實現(xiàn)Fluent Interface的三種方法
這篇文章主要介紹了C#中實現(xiàn)Fluent Interface的三種方法,本文講解了Fluent Interface的簡單實現(xiàn)、使用裝飾器模式和擴展方法實現(xiàn)Fluent Interface等3種實現(xiàn)方法,需要的朋友可以參考下2015-03-03
DevExpress實現(xiàn)為TextEdit設置水印文字的方法
這篇文章主要介紹了DevExpress實現(xiàn)為TextEdit設置水印文字的方法,對C#程序設計人員來說是一個很實用的技巧,需要的朋友可以參考下2014-08-08
C# SaveFileDialog與OpenFileDialog用法案例詳解
這篇文章主要介紹了C# SaveFileDialog與OpenFileDialog用法案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08
VS2015為console.readkey添加代碼片段的方法
這篇文章主要介紹了VS2015為console.readkey添加代碼片段的方法,需要的朋友可以參考下2016-12-12

