C#中using關(guān)鍵字的使用方法示例
這里記錄下C#中using關(guān)鍵字的使用方法。
Using的使用大致分別以下三種:
1 :using 指令(命名空間)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
2 :using 語句
某些類型的非托管對(duì)象有數(shù)量限制或很耗費(fèi)系統(tǒng)資源,在代碼使用完它們后,盡可能快的釋放它們時(shí)非常重要的。using語句有助于簡化該過程并確保這些資源被適當(dāng)?shù)奶幹茫╠ispose)。
這里大致分為兩種形式。
(1 ):using (ResourceType Identifier = Expression ) Statement
Using表達(dá)式
圓括號(hào)中的代碼分配資源,Statement是使用資源的代碼
using語句會(huì)隱式產(chǎn)生處置該資源的代碼,其步驟為:
a:分配資源
b:把Statement放進(jìn)try塊
c:創(chuàng)建資源的Dispose方法的調(diào)用,并把它放進(jìn)finally塊
// using 語句
using (usings.factory fac = new usings.factory())
{
fac.CreateProduct();
}(2 ):using (Expression) Statement
Using對(duì)象
Expression 表示資源,Statement是使用資源,資源需要在using之前聲明
usings.factory facs = new usings.factory();
// using 對(duì)象
using (facs)
{
facs.CreateProduct();
}Factory類:
namespace usings
{
public class factory : IDisposable
{
public void CreateProduct()
{
Console.WriteLine("創(chuàng)建了一個(gè)產(chǎn)品!");
}
public void Dispose()
{
Console.WriteLine("該對(duì)象銷毀~");
}
}
}這里需要說我遇到的一個(gè)小問題,如圖所示:

解決方法很簡單,自定義的類繼承IDisposable類,實(shí)現(xiàn)其Dispose方法。
具體如我上邊的代碼所示。
3 :using 別名
用using為命名空間或類型定義別名,當(dāng)引入的多個(gè)命名空間包含相同名字的類型時(shí),需要使用該類型時(shí),可以通過using為其指定別名,使代碼更加簡潔,避免沖突。
這里放上這次測試使用的全部代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// 別名
using afactory = usings.usingsaaa.factory;
using bfactory = usings.usingsbbb.factory;
namespace usings
{
class Program
{
static void Main(string[] args)
{
// using 語句
using (usings.factory fac = new usings.factory())
{
fac.CreateProduct();
}
Console.WriteLine("------------------------------------------");
usings.factory facs = new usings.factory();
// using 對(duì)象
using (facs)
{
facs.CreateProduct();
}
Console.WriteLine("------------------------------------------");
// 別名
afactory a = new afactory(); // 代替usingsaaa.factory
a.CreateProduct();
Console.WriteLine("------------------------------------------");
bfactory b = new bfactory(); // 代替usingsbbb.factory
b.CreateProduct();
Console.ReadKey();
}
}
namespace usingsaaa
{
public class factory
{
public void CreateProduct()
{
Console.WriteLine("aaa工廠創(chuàng)建了一個(gè)產(chǎn)品!");
}
}
}
namespace usingsbbb
{
public class factory
{
public void CreateProduct()
{
Console.WriteLine("bbb工廠創(chuàng)建了一個(gè)產(chǎn)品!");
}
}
}
namespace usings
{
public class factory : IDisposable
{
public void CreateProduct()
{
Console.WriteLine("創(chuàng)建了一個(gè)產(chǎn)品!");
}
public void Dispose()
{
Console.WriteLine("該對(duì)象銷毀~");
}
}
}
}以上就是對(duì)using關(guān)鍵字的一些總結(jié)。
總結(jié)
到此這篇關(guān)于C#中using關(guān)鍵字使用的文章就介紹到這了,更多相關(guān)C# using關(guān)鍵字使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)用戶自定義控件中嵌入自己的圖標(biāo)
這篇文章主要介紹了C#實(shí)現(xiàn)用戶自定義控件中嵌入自己的圖標(biāo),較為詳細(xì)的分析了C#實(shí)現(xiàn)自定義控件中嵌入圖標(biāo)的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-03-03
C#實(shí)現(xiàn)條形碼識(shí)別的解決方案分享
主流的識(shí)別庫主要有ZXing.NET和ZBar,OpenCV 4.0后加入了QR碼檢測和解碼功能,所以本文主要和大家分享了使用ZBar進(jìn)行條形碼識(shí)別的示例代碼,需要的可以參考一下2023-07-07
詳解C#使用AD(Active Directory)驗(yàn)證內(nèi)網(wǎng)用戶名密碼
這篇文章主要介紹了詳解C#使用AD(Active Directory)驗(yàn)證內(nèi)網(wǎng)用戶名密碼的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10
C#并行編程之?dāng)?shù)據(jù)并行Tasks.Parallel類
這篇文章介紹了C#并行編程之?dāng)?shù)據(jù)并行Tasks.Parallel類,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
macOS系統(tǒng)下Vscode的python配置教程
這篇文章主要介紹了macOS系統(tǒng)下Vscode的python配置教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04

