成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# Using 用法

開(kāi)發(fā) 后端
using 語(yǔ)句允許程序員指定使用資源的對(duì)象應(yīng)當(dāng)何時(shí)釋放資源。為 using 語(yǔ)句提供的對(duì)象必須實(shí)現(xiàn) IDisposable 接口。此接口提供了 Dispose 方法,該方法將釋放此對(duì)象的資源。 一起來(lái)看本文的介紹。

在.NET大家庭中,有不少的關(guān)鍵字承擔(dān)了多種角色,例如new關(guān)鍵字就身兼數(shù)職,除了能夠創(chuàng)建對(duì)象,在繼承體系中隱藏基類成員,還在泛型聲明中約束可能用作類型參數(shù)的參數(shù),在詳細(xì)討論using的多重身份的基礎(chǔ)上來(lái)了解.NET在語(yǔ)言機(jī)制上的簡(jiǎn)便與深邃。   

那么,using的多重身份都體現(xiàn)在哪些方面呢,我們先一睹為快吧:   

1、引入命名空間   

2、創(chuàng)建別名   

3、強(qiáng)制資源清理   

下面,本文將從這幾個(gè)角度來(lái)闡述using的多彩應(yīng)用。

(1)引用命名空間

using作為引入命名空間指令的用法規(guī)則為:

  1. using Namespace;  

在.NET程序中,最常見(jiàn)的代碼莫過(guò)于在程序文件的開(kāi)頭引入System命名空間,其原因在于System命名空間中封裝了很多最基本最常用的操作。

關(guān)于:命名空間 

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

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

using為命名空間創(chuàng)建別名的用法規(guī)則為:

  1. using alias = namespace | type;  

其中namespace表示創(chuàng)建命名空間的別名;而type表示創(chuàng)建類型別名。例如,在.NET Office應(yīng)用中,常常會(huì)引入Microsoft.Office.Interop.Word.dll程序集,在引入命名空間時(shí)為了避免繁瑣的類型輸入,我們通常為其創(chuàng)建別名如下:

  1. using MSWord = Microsoft.Office.Interop.Word;  

這樣,就可以在程序中以MSWord來(lái)代替Microsoft.Office.Interop.Word前綴,如果要?jiǎng)?chuàng)建Application對(duì)象,則可以是這樣,
而且還有一個(gè)好處就是,在一個(gè).CS文件中引入了不同的命名空間但是相同的類名的時(shí)候,用別名就可以解決這問(wèn)題了。

3)強(qiáng)制資源清理

用途:清理非托管資源,不受GC控制的資源。Using結(jié)束后會(huì)隱式的調(diào)用Disposable方法。

用法:

  1. using (Class1 c = new Class1())   
  2. {   
  3. }//清理非托管不受GC控制的資源  

但是當(dāng)對(duì)象使用using關(guān)鍵字的時(shí)候,必須實(shí)現(xiàn)IDisposable接口。其實(shí)using的使用和try-catch-finaly中,在finaly代碼域調(diào)用Disposable方法效果一樣。注意Using不能使用多個(gè)不同的類。

  1. Class1 f = new Class1();   
  2. try   
  3. //執(zhí)行代碼   
  4. }   
  5. catch()   
  6. {   
  7. //異常處理   
  8. }   
  9. finally   
  10. {   
  11. f.Disposable();   

using 語(yǔ)句獲取一個(gè)或多個(gè)資源,執(zhí)行一個(gè)語(yǔ)句,然后處置該資源。 

using 語(yǔ)句: using ( 資源獲取 ) 嵌入語(yǔ)句

資源獲取: 局部變量聲明

表達(dá)式

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

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

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

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

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

  1. using (R r1 = new R()) {   
  2. r1.F();   
  3. }  

完全等效于

  1. R r1 = new R();   
  2. try {   
  3. r1.F();   
  4. }   
  5. finally {   
  6. if (r1 != null) ((IDisposable)r1).Dispose();   

一個(gè)簡(jiǎn)單的關(guān)鍵字,多種不同的應(yīng)用場(chǎng)合。本文從比較全面的角度,詮釋了using關(guān)鍵字在.NET中的多種用法,值得指出的是這種用法并非實(shí)現(xiàn)于.NET的所有高級(jí)語(yǔ)言,本文的情況主要局限在C#中。

【編輯推薦】

  1. 用C#實(shí)現(xiàn)HTTP協(xié)議下的多線程文件傳輸
  2. C#簡(jiǎn)單游戲外掛制作(以Warcraft Ⅲ為例)
  3. 關(guān)于C#委托你不可不知的幾件事
  4. C#中簡(jiǎn)單的正則表達(dá)式
  5. C#使用MemoryStream類讀寫內(nèi)存
責(zé)任編輯:于鐵 來(lái)源: 博客園
相關(guān)推薦

2009-08-26 14:01:33

C# using用法

2009-08-27 16:00:59

C#中using用法

2009-08-26 18:10:44

C# using的用法

2011-07-06 10:47:52

C#using

2009-08-26 17:21:05

C# using

2009-08-27 15:53:30

C#中using wo

2009-08-27 16:53:05

C# using作用

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-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-07 05:50:59

C# Timer用法

2009-08-20 17:17:02

C#哈希表

2009-09-10 16:38:43

C# get set用

2009-08-26 18:13:55

C#多線程lock

2023-09-26 07:38:53

c#Lambda表達(dá)式

2011-04-25 14:42:10

C#lock

2009-08-26 14:48:21

C#打印分頁(yè)

2009-09-10 15:27:16

C# get set
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日本不卡免费新一二三区 | 国产真实精品久久二三区 | 日韩欧美国产一区二区 | 91麻豆精品一区二区三区 | 黄色毛片在线播放 | 久久国产精品精品国产色婷婷 | 91综合在线观看 | 亚洲一区二区三区免费在线观看 | 亚洲欧美日韩网站 | 欧美日韩在线免费 | av天天澡天天爽天天av | 美女一级毛片 | 99国产视频| 综合色久| 日韩欧美国产一区二区 | 久久久久国产精品一区二区 | 国产色99精品9i | 最新黄色在线观看 | 一级一片在线观看 | 亚洲精品电影网在线观看 | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 福利社午夜影院 | 精品久久久精品 | 国产91视频一区二区 | 成人精品一区亚洲午夜久久久 | 久久久国产一区 | 天天艹逼网 | 久久久精品一区 | 精品一区国产 | 国产美女在线看 | 成人免费在线 | 国产欧美精品一区二区 | 91在线一区二区 | 免费在线一区二区三区 | 成人欧美一区二区三区在线播放 | 一区二区三区在线免费观看视频 | 久久午夜精品 | 精品久久久久久久久久 | 久久久综合色 | www.久久久久久久久久久久 | 国产成人精品999在线观看 |