最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中using的使用方式詳解

 更新時間:2023年06月24日 13:33:37   作者:相遇就是有緣???閱讀(  
這篇文章主要介紹了C#中using的使用方式方式詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

C#中 using 關(guān)鍵字主要有以下幾種方式。

1. 引入命名空間

例如:using System,幾乎每個類中都會用到。

2.為引入的命名空間起別名

using + 別名 = 包括詳細命名空間信息的具體的類型

using aClass = NameSpace1.MyClass;
using bClass = NameSpace2.MyClass;<br>

優(yōu)點:當同一個cs引用了兩個不同的命名空間,但兩個命名空間都包括了一個相同名字的類型的時候。當需要用到這個類型的時候,就每個地方都要用詳細命名空間的辦法來區(qū)分這些相同名字的類型。而用別名的方法會更簡潔,用到哪個類就給哪個類做別名聲明就可以了。注意:并不是說兩個名字重復(fù),給其中一個用了別名,另外一個就不需要用別名了,如果兩個都要使用,則兩個都需要用using來定義別名的。

3.自動釋放創(chuàng)建的對象

作用:

1. 自動釋放非托管資源,避免緩存,內(nèi)存溢出,允許程序員指定使用資源的對象應(yīng)當何時釋放資源。

2.簡化try catch 得到在此定義域內(nèi)自動釋放所新建的對象,以簡化代碼;

本質(zhì):在程序編譯階段,編譯器會自動將using語句生成為try-finally語句,并在finally塊中調(diào)用對象的Dispose方法,來清理資源。所以,using語句等效于try-finally語句。

Font f2 = new Font("Arial", 10, FontStyle.Bold);
 try
 {
  }
 finally
 {
    if (f2 != null) ((IDisposable)f2).Dispose();
 }

注意事項:

1. 括號內(nèi)使用的對象必須實現(xiàn) IDisposable 接口。此接口提供了 Dispose 方法,該方法將釋放此對象的資源。禁止為不支持IDisposable接口的類型使用using語句,否則會出現(xiàn)編譯錯誤。

 using (MemoryStream ms = new MemoryStream())
 {
     qrCodeImage.Save(ms, ImageFormat.Jpeg);
     returnImageData = ms.GetBuffer();
     ms.Close();
 }

2.using語句適用于清理單個非托管資源的情況,而多個非托管對象的清理最好以try-finnaly來實現(xiàn),因為嵌套的using語句可能存在隱藏的Bug。內(nèi)層using塊引發(fā)異常時,將不能釋放外層using塊的對象資源。

3.using語句支持初始化多個變量,但前提是這些變量的類型必須相同,例如:

using(Pen p1 = new Pen(Brushes.Black), p2 = new Pen(Brushes.Blue))
{
}

4.針對初始化對個不同類型的變量時,可以都聲明為IDisposable類型

 using (IDisposable font = new Font("Verdana", 12), pen = new Pen(Brushes.Black))
 {
    float size = (font as Font).Size;
    Brush brush = (pen as Pen).Brush;
 }

人生如逆旅我亦是行人

到此這篇關(guān)于C#中using的使用方式的文章就介紹到這了,更多相關(guān)C#中using的使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C# Soap調(diào)用WebService的實例

    C# Soap調(diào)用WebService的實例

    下面小編就為大家?guī)硪黄狢# Soap調(diào)WebService的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • C#6 null 條件運算符

    C#6 null 條件運算符

    本文主要對比C# 6 null運算符與老版本的不同,并且用代碼實例測試,發(fā)現(xiàn)新語法性能提高,語法簡化了。希望看到的同學對你有所幫助
    2016-07-07
  • C#實現(xiàn)從后往前反向讀取文件指定行數(shù)

    C#實現(xiàn)從后往前反向讀取文件指定行數(shù)

    文件讀取通常遵循正向流式處理,這種模型在大多數(shù)場景下高效且直觀,但特定業(yè)務(wù)需求迫使我們必須逆向思考,下面我們就來看看C#如何實現(xiàn)從后往前反向讀取文件指定行數(shù)吧
    2026-05-05
  • C#實現(xiàn)Bitmap類型與Byte[]類型相互轉(zhuǎn)化的示例詳解

    C#實現(xiàn)Bitmap類型與Byte[]類型相互轉(zhuǎn)化的示例詳解

    在C#編程中,Bitmap類型和Byte[]類型之間的相互轉(zhuǎn)化是圖像處理和數(shù)據(jù)傳輸中常見的需求,Bitmap類型表示一個位圖圖像,而Byte[]類型則是一個字節(jié)數(shù)組,本文將詳細介紹如何在這兩種類型之間進行相互轉(zhuǎn)化,需要的朋友可以參考下
    2024-07-07
  • 利用C#實現(xiàn)SSLSocket加密通訊的方法詳解

    利用C#實現(xiàn)SSLSocket加密通訊的方法詳解

    這篇文章主要給大家介紹了關(guān)于如何利用C#實現(xiàn)SSLSocket加密通訊的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-07-07
  • C#?原生編碼智能體運行時?SharpClawCode詳解

    C#?原生編碼智能體運行時?SharpClawCode詳解

    SharpClawCode是一個專為 .NET 10 和 C# 13 生態(tài)系統(tǒng)設(shè)計的C# 原生編碼智能體運行時(coding-agent runtime),本文給大家介紹C#原生編碼智能體運行時?SharpClawCode的相關(guān)知識,感興趣的朋友一起看看吧
    2026-04-04
  • C#比較數(shù)組是否相同的3種方式小結(jié)

    C#比較數(shù)組是否相同的3種方式小結(jié)

    本文主要介紹了C#比較數(shù)組是否相同的3種方式小結(jié),主要包括SequenceEqual()方法,循環(huán)的方式比較,StructuralComparisons.StructuralEqualityComparer方式,感興趣的可以了解一下
    2024-01-01
  • C#中SetStyle的具體使用

    C#中SetStyle的具體使用

    本文主要介紹了C#中SetStyle的具體使用,該方法用于啟用或禁用特定的控件樣式,以控制控件的行為和外觀,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • C# 腳本引擎RulesEngine的使用詳解

    C# 腳本引擎RulesEngine的使用詳解

    這篇文章主要介紹了C# 腳本引擎RulesEngine的使用方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-02-02
  • 使用C#實現(xiàn)將Word?轉(zhuǎn)文本存儲到數(shù)據(jù)庫并進行管理

    使用C#實現(xiàn)將Word?轉(zhuǎn)文本存儲到數(shù)據(jù)庫并進行管理

    這篇文章主要為大家詳細介紹了如何使用C#實現(xiàn)將Word?轉(zhuǎn)文本存儲到數(shù)據(jù)庫并進行管理,文中的示例代碼講解詳細,需要的小伙伴可以參考一下
    2024-03-03

最新評論

咸宁市| 项城市| 屯昌县| 海林市| 南通市| 安徽省| 金寨县| 宣城市| 正蓝旗| 克拉玛依市| 裕民县| 井陉县| 会同县| 永济市| 怀来县| 英德市| 林甸县| 丰宁| 乡城县| 平和县| 台东县| 安溪县| 海阳市| 彭水| 嵊州市| 五指山市| 塔河县| 龙南县| 竹山县| 黔西县| 富裕县| 张北县| 桓仁| 密山市| 江源县| 郑州市| 玛多县| 黔东| 龙泉市| 宜昌市| 绩溪县|