• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 195,  comments - 30,  trackbacks - 0

            Using
            (1)引用命名空間
            using作為引入命名空間指令的用法規則為:
            using Namespace;
            在.NET程序中,最常見的代碼莫過于在程序文件的開頭引入System命名空間,其原因在于System命名空間中封裝了很多最基本最常用的操作,下面的代碼對我們來說最為熟悉不過:
            using System;
            這樣,我們在程序中就可以直接使用命名空間中的類型,而不必指定詳細的類型名稱。using指令可以訪問嵌套命名空間。

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

            (2)創建命名空間別名

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

            (3)強制資源清理
            用途:清理非托管資源,不受GC控制的資源。Using結束后會隱式的調用Disposable方法。
            用法:
            using (Class1 c = new Class1())
            {
            }//清理非托管不受GC控制的資源
            但是當對象使用using關鍵字的時候,必須實現IDisposable接口。其實using的使用和try-catch-finaly中,在finaly代碼域調用Disposable方法效果一樣。注意Using不能使用多個不同的類
            Class1 f = new Class1();
            try
            {                     //執行代碼
            }
            catch()
            {
            //異常處理
            }
            finally
            {
            f.Disposable();
            }

            using 語句獲取一個或多個資源,執行一個語句,然后處置該資源。    
            using 語句:
            using ( 資源獲取 ) 嵌入語句
            資源獲取:
            局部變量聲明
            表達式

            資源是實現 System.IDisposable 的類或結構,它包含名為 Dispose 的單個無參數方法。(如:截圖2)正在使用資源的代碼可以調用 Dispose 以指示不再需要該資源。如果不調用 Dispose,則最終將因為垃圾回收而發生自動處置。

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

            在資源獲取中聲明的局部變量必須是只讀的,且必須包含一個初始值設定項。

            using 語句被翻譯成三個部分:獲取、使用和處置。資源的使用隱式封閉在包含一個 finally 子句的 try語句中。此 finally 子句處置資源。如果獲取了 null 資源,則不進行對 Dispose 的調用,也不引發任何異常。

            例如,下列形式的 using 語句

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

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


            截圖1:

            using確保執行IDisposable接口的對象在退出塊時立即釋放,主要是為了防止忘記關閉數據庫連接可能導致的.net可執行程序的各種問題

            又例如:

            using (Class1 cls1 = new Class1(), cls2 = new Class1())
            {
              
            // the code using cls1, cls2


            }
             // call the Dispose on cls1 and cls2
            posted on 2011-03-08 14:14 luis 閱讀(554) 評論(0)  編輯 收藏 引用
            <2011年3月>
            272812345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            友情鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            嫩草影院久久国产精品| 无码国内精品久久综合88| 久久久久AV综合网成人| 国产精品成人久久久久久久| 久久综合欧美成人| 久久综合色区| 国内精品久久久久伊人av| 久久久久99精品成人片| 天天躁日日躁狠狠久久| 国产女人aaa级久久久级| 2021国内精品久久久久久影院| 97久久精品无码一区二区天美| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久这里只有精品视频99| 久久久久亚洲精品日久生情 | 伊人久久大香线蕉亚洲五月天| 国产婷婷成人久久Av免费高清| 久久免费大片| 91秦先生久久久久久久| 色8久久人人97超碰香蕉987| 久久久久久久综合综合狠狠| 99久久精品费精品国产一区二区| 久久只有这精品99| 精品一久久香蕉国产线看播放| 久久亚洲精品中文字幕| 久久久久久久久66精品片| 国产免费福利体检区久久| .精品久久久麻豆国产精品| 亚洲中文久久精品无码ww16| 中文字幕亚洲综合久久菠萝蜜| 国产99久久久久久免费看| 国产精品禁18久久久夂久| 国产色综合久久无码有码| 久久婷婷色综合一区二区| 午夜精品久久久久久影视777| 日本精品久久久久中文字幕| 久久国产精品国产自线拍免费| 国内精品人妻无码久久久影院| 久久人人爽人人爽人人片av高请| 久久精品国产亚洲AV不卡| 亚洲中文字幕久久精品无码喷水|