自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C# Using用法三則

開(kāi)發(fā) 后端
C#關(guān)鍵字的用法不單只有一種方法的?,F(xiàn)在我總結(jié)了一下Using和New的用法,順便也是為了幫助大家更好的理解C# using用法。

Using
(1)引用命名空間
using作為引入命名空間指令的用法規(guī)則為:
using Namespace;
在.NET程序中,最常見(jiàn)的代碼莫過(guò)于在程序文件的開(kāi)頭引入System命名空間,其原因在于System命名空間中封裝了很多最基本最常用的操作,下面的代碼對(duì)我們來(lái)說(shuō)最為熟悉不過(guò):
using System;
這樣,我們?cè)诔绦蛑芯涂梢灾苯邮褂妹臻g中的類(lèi)型,而不必指定詳細(xì)的類(lèi)型名稱(chēng)。using指令可以訪(fǎng)問(wèn)嵌套命名空間。

關(guān)于:命名空間
命名空間是.NET程序在邏輯上的組織結(jié)構(gòu),而并非實(shí)際的物理結(jié)構(gòu),是一種避免類(lèi)名沖突的方法,用于將不同的數(shù)據(jù)類(lèi)型組合劃分的方式。例如,在.NET中很多的基本類(lèi)型都位于System命名空間,數(shù)據(jù)操作類(lèi)型位于System.Data命名空間,

(2)創(chuàng)建命名空間別名

using為命名空間創(chuàng)建別名的用法規(guī)則為:
using alias = namespace | type;
其中namespace表示創(chuàng)建命名空間的別名;而type表示創(chuàng)建類(lèi)型別名。例如,在.NET Office應(yīng)用中,常常會(huì)引入Microsoft.Office.Interop.Word.dll程序集,在引入命名空間時(shí)為了避免繁瑣的類(lèi)型輸入,我們通常為其創(chuàng)建別名如下:
using MSWord = Microsoft.Office.Interop.Word;
這樣,就可以在程序中以MSWord來(lái)代替Microsoft.Office.Interop.Word前綴,如果要?jiǎng)?chuàng)建Application對(duì)象,則可以是這樣,
         而且還有一個(gè)好處就是,在一個(gè).CS文件中引入了不同的命名空間但是相同的類(lèi)名的時(shí)候,用別名就可以解決這問(wèn)題了。

(3)強(qiáng)制資源清理
             用途:清理非托管資源,不受GC控制的資源。Using結(jié)束后會(huì)隱式的調(diào)用Disposable方法。
             用法:
         using (Class1 c = new Class1())
{
         }//清理非托管不受GC控制的資源
         但是當(dāng)對(duì)象使用using關(guān)鍵字的時(shí)候,必須實(shí)現(xiàn)IDisposable接口。其實(shí)using的使用和try-catch-finaly中,在finaly代碼域調(diào)用Disposable方法效果一樣。注意Using不能使用多個(gè)不同的類(lèi)
         Class1 f = new Class1();
         try
         {                     //執(zhí)行代碼
         }
        catch()
         {
             //異常處理
         }
        finally
         {
             f.Disposable();
         }

using 語(yǔ)句獲取一個(gè)或多個(gè)資源,執(zhí)行一個(gè)語(yǔ)句,然后處置該資源。    
using 語(yǔ)句:
using ( 資源獲取 ) 嵌入語(yǔ)句
資源獲?。?
局部變量聲明
表達(dá)式

資源是實(shí)現(xiàn) System.IDisposable 的類(lèi)或結(jié)構(gòu),它包含名為 Dispose 的單個(gè)無(wú)參數(shù)方法。(如:截圖2)正在使用資源的代碼可以調(diào)用 Dispose 以指示不再需要該資源。如果不調(diào)用 Dispose,則最終將因?yàn)槔厥斩l(fā)生自動(dòng)處置。

如果資源獲取的形式是局部變量聲明,那么此局部變量聲明的類(lèi)型必須為System.IDisposable 或是可以隱式轉(zhuǎn)換為 System.IDisposable 的類(lèi)型。如果資源獲取的形式是表達(dá)式,那么此表達(dá)式必須是 System.IDisposable 或是可以隱式轉(zhuǎn)換為 System.IDisposable 的類(lèi)型。

在資源獲取中聲明的局部變量必須是只讀的,且必須包含一個(gè)初始值設(shè)定項(xiàng)。

using 語(yǔ)句被翻譯成三個(gè)部分:獲取、使用和處置。資源的使用隱式封閉在包含一個(gè) finally 子句的 try語(yǔ)句中。此 finally 子句處置資源。如果獲取了 null 資源,則不進(jìn)行對(duì) Dispose 的調(diào)用,也不引發(fā)任何異常。

例如,下列形式的 using 語(yǔ)句

using (R r1 = new R()) {
r1.F();
}
完全等效于

R r1 = new R();
try {
r1.F();
}
finally {
if (r1 != null) ((IDisposable)r1).Dispose();
}


截圖1:

     using確保執(zhí)行IDisposable接口的對(duì)象在退出塊時(shí)立即釋放,主要是為了防止忘記關(guān)閉數(shù)據(jù)庫(kù)連接可能導(dǎo)致的.net可執(zhí)行程序的各種問(wèn)題。

截圖2:

責(zé)任編輯:yangsai 來(lái)源: 百度空間
相關(guān)推薦

2011-05-23 13:27:53

2009-08-26 18:10:44

C# using的用法

2009-08-26 17:21:05

C# using

2009-07-30 08:49:58

ASP.NET中usi

2009-08-27 16:53:05

C# using作用

2011-07-06 10:47:52

C#using

2009-08-27 16:00:59

C#中using用法

2009-08-27 15:53:30

C#中using wo

2009-08-13 17:44:34

C# using關(guān)鍵字

2009-09-07 16:13:56

C# MessageB

2009-08-28 10:08:15

C# using語(yǔ)句

2024-06-04 17:02:38

newC#編程語(yǔ)言

2024-04-16 12:13:07

usingC#開(kāi)發(fā)

2009-07-30 15:24:13

C#析構(gòu)函數(shù)C#構(gòu)造函數(shù)

2009-09-10 16:38:43

C# get set用

2024-05-29 14:09:00

C#編程this

2009-08-20 17:17:02

C#哈希表

2009-09-07 05:50:59

C# Timer用法

2011-07-04 15:14:49

C#

2009-08-26 14:48:21

C#打印分頁(yè)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)