using在C#中隨處可見,比如引入命名空間,這是也是每個C#的cs頁面必須存在的,除了引入命名空間還有幾種用法,下面將介紹這幾種的使用。
這是最常見最基本的用法, 這樣可以在程序中直接用命令空間中的類型,而不必指定類型的詳細命名空間,類似于Java的import,這個功能也是最常用的,幾乎每個cs的程序都會用到。
語法:using 命名空間名字。下面是具體案例
using System;using TestnamespaceName;//引入了下面的命名空間,有可能不是一個文件夾namespace ConsoleApp1{ public class Program2 { public static void Main2() { var rel = new tests(); }//引入命名空間才能實例化類 }}namespace TestnamespaceName //命名空間{ public class tests { }}
當兩個cs文件都包含同一個名字的命名空間的時候使用,不需要使用詳細命名空間來區分相同的名字,直接使用別名更方便。
語法:using 別名=class.name
using System;using aClass = NameSpace1.MyClass; //取別名using bClass = NameSpace2.MyClass;//取別名namespace ConsoleAppUsing{ class Program { static void Main(string[] args) { aClass my1 = new aClass(); Console.WriteLine(my1); bClass my2 = new bClass(); Console.WriteLine(my2); } }}
當在某個代碼段中使用了類的實例,而希望無論因為什么原因,只要離開了這個代碼段就自動調用這個類實例的Dispose,常見的有關閉數據庫鏈接、關閉讀取文件流等。也可以用try...catch來捕捉異常,但使用using更佳。
語法:using(){ } 或者using var classa =new Classa();
//方式1using(SqlConnection conn = new SqlConnection(conStr))/{ conn.Open();}//結束后自動釋放conn //方式2using SqlConnection conn = new SqlConnection(conStr)//這樣也可以
注意,方式2是C#8引入了一個新的using語法,可以不用花括號,變量出了其生命周期自動釋放。
指定無需指定類型名稱即可訪問其靜態成員的類型,這個跟第一種有點類似。
語法:using static System.class ;var a= ;
using static System.Math;//靜態成員的類型 public class Program2 { public static void Main2() { var rel = new tests(); var a = PI; // 直接使用System.Math.PI } }
本文鏈接:http://www.tebozhan.com/showinfo-26-84035-0.htmlC# 中 using 的幾種使用場景
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: C#中的異常處理與錯誤返回