原文地址http://m.survivalescaperooms.com/fashui/archive/2011/09/29/2195061.html,感謝心茶前輩的總結(jié)。
using+命名空間,這種方法基本學(xué)習(xí)過C#的都用過,好處在于,寫代碼的時候不需要指定詳細(xì)的命名空間
using System.Windows.Media;using System.Windows.Media.Imaging;
是用來簡化資源釋放的,在一定的范圍內(nèi)有效,除了這個范圍時,自動調(diào)用IDisposable釋放掉,當(dāng)然并不是所有的類都適用,只有實現(xiàn)了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()); }//這個括號結(jié)束的時候自動釋放SqlCommand }//這個括號結(jié)束的時候自動釋放SqlConnection除了using可以達(dá)到這個目的意外,try catch也是可以的。
using+別名=包括詳細(xì)命名空間信息的具體類型,這種做法有個好處就是當(dāng)同一個cs引用了兩個不同的命名空間,但兩個命名空間都包括了一個相同名字的類型的時候。當(dāng)需要用到這個類型的時候,就每個地方都要用詳細(xì)命名空間的辦法來區(qū)分這些相同名字的類型。而用別名的方法會更簡潔,用到哪個類就給哪個類做別名聲明就可以了。注意:并不是說兩個名字重復(fù),給其中一個用了別名,另外一個就不需要用別名了,如果兩個都要使用,則兩個都需要用using來定義別名的。
using System;using aClass = NameSpace1.MyClass;using bClass = NameSpace2.MyClass; namespace NameSpace1 { public class MyClass { public override string ToString() { return "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> /// 應(yīng)用程序的主入口點。 /// </summary> [STAThread] static void Main(string[] args) { // // TODO: 在此處添加代碼以啟動應(yīng)用程序 // aClass my1 = new aClass(); Console.WriteLine(my1); bClass my2 = new bClass(); Console.WriteLine(my2); Console.WriteLine("Press any key"); Console.Read(); } }}至今第三種情況個人還沒有用到過。
新聞熱點
疑難解答