1. 程式人生 > >c#中using的三種使用

c#中using的三種使用

C# 中使用using的三種方法

1.using指令

using+名稱空間,這種方法基本學習過C#的都用過,好處在於,寫程式碼的時候不需要指定詳細的名稱空間

using System.Windows.Media; using System.Windows.Media.Imaging;

2.using語句

是用來簡化資源釋放的,在一定的範圍內有效,除了這個範圍時,自動呼叫IDisposable釋放掉,當然並不是所有的類都適用,只有實現了IDisposable介面的類才可以使用

 using (SqlConnection conn=new SqlConnection("Data Source=.;Initial Catalog=imageprocess;Integrated Security=True
")) { conn.Open(); using(SqlCommand cmd=conn.CreateCommand()) { cmd.CommandText = "select count(*) from [user]"; int i = (int)cmd.ExecuteScalar(); MessageBox.Show(i.ToString()); }//這個括號結束的時候自動釋放SqlCommand
}//這個括號結束的時候自動釋放SqlConnection

除了using可以達到這個目的意外,try catch也是可以的。

3.using別名

using+別名=包括詳細名稱空間資訊的具體型別,這種做法有個好處就是當同一個cs引用了兩個不同的名稱空間,但兩個名稱空間都包括了一個相同名字的型別的時候。當需要用到這個型別的時候,就每個地方都要用詳細名稱空間的辦法來區分這些相同名字的型別。而用別名的方法會更簡潔,用到哪個類就給哪個類做別名宣告就可以了。注意:並不是說兩個名字重複,給其中一個用了別名,另外一個就不需要用別名了,如果兩個都要使用,則兩個都需要用using來定義別名的。

using
System; using aClass = NameSpace1.MyClass; using bClass = NameSpace2.MyClass; namespace NameSpace1 { public class MyClass { public override string ToString() { return <span sty<="" p="" style="margin: 0px; padding: 0px;"> e="color:#800000;">"You are in NameSpace1.MyClass"; } } } namespace NameSpace2 { class MyClass { public override string ToString() { return "You are in NameSpace2.MyClass"; } } } namespace testUsing { using NameSpace1; using NameSpace2; /// <summary> /// Class1 的摘要說明。 /// </summary> class Class1 { /// <summary> /// 應用程式的主入口點。 /// </summary> [STAThread] static void Main(string[] args) { // // TODO: 在此處新增程式碼以啟動應用程式 // aClass my1 = new aClass(); Console.WriteLine(my1); bClass my2 = new bClass(); Console.WriteLine(my2); Console.WriteLine("Press any key"); Console.Read(); } } }

至今第三種情況個人還沒有用到過。