程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 【轉】C# using的三種使用方法,

【轉】C# using的三種使用方法,

編輯:C#入門知識

【轉】C# using的三種使用方法,


原文地址http://www.cnblogs.com/fashui/archive/2011/09/29/2195061.html,感謝心茶前輩的總結。

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 "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();
        }
    }
}

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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved