日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#中using關鍵字的使用方法示例_C#教程

作者:camellia ? 更新時間: 2022-08-11 編程語言

這里記錄下C#中using關鍵字的使用方法。

Using的使用大致分別以下三種:

1 :using 指令(命名空間)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

2 :using 語句

某些類型的非托管對象有數量限制或很耗費系統資源,在代碼使用完它們后,盡可能快的釋放它們時非常重要的。using語句有助于簡化該過程并確保這些資源被適當的處置(dispose)。

這里大致分為兩種形式。

(1 ):using (ResourceType Identifier = Expression )?Statement

Using表達式 

圓括號中的代碼分配資源,Statement是使用資源的代碼

 using語句會隱式產生處置該資源的代碼,其步驟為:

 a:分配資源

 b:把Statement放進try塊

 c:創建資源的Dispose方法的調用,并把它放進finally塊

// using 語句
            using (usings.factory fac = new usings.factory())
            {
                fac.CreateProduct();
            }

(2 ):using (Expression)? Statement

Using對象

Expression?表示資源,Statement是使用資源,資源需要在using之前聲明

usings.factory facs = new usings.factory();
            // using 對象
            using (facs)
            {
                facs.CreateProduct();
            }

Factory類:

namespace usings
{
    public class factory : IDisposable
    {
        public void CreateProduct()
        {
            Console.WriteLine("創建了一個產品!");
        }
 
        public void Dispose()
        {
            Console.WriteLine("該對象銷毀~");
        }
    }
}

這里需要說我遇到的一個小問題,如圖所示:

解決方法很簡單,自定義的類繼承IDisposable類,實現其Dispose方法。

具體如我上邊的代碼所示。

3 :using 別名

用using為命名空間或類型定義別名,當引入的多個命名空間包含相同名字的類型時,需要使用該類型時,可以通過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 對象
            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工廠創建了一個產品!");
            }
        }
    }
 
    namespace usingsbbb
    {
        public class factory
        {
            public void CreateProduct()
            {
                Console.WriteLine("bbb工廠創建了一個產品!");
            }
        }
    }
 
 
    namespace usings
    {
        public class factory : IDisposable
        {
            public void CreateProduct()
            {
                Console.WriteLine("創建了一個產品!");
            }
 
            public void Dispose()
            {
                Console.WriteLine("該對象銷毀~");
            }
        }
    }
}

以上就是對using關鍵字的一些總結。

總結

原文鏈接:https://juejin.cn/post/7110889488628318245

欄目分類
最近更新