using三种用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了using三种用法相关的知识,希望对你有一定的参考价值。

  转(http://blog.sina.com.cn/s/blog_586b6c0501000ax3.html

 

1. using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。

例如:using System; 一般都会出现在*.cs中。

2.using别名。using + 别名 = 包括详细命名空间信息的具体的类型。  

  这种做法有个好处就是当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。而用别名的方法会更简洁,用到哪个类就给哪个类做别名声明就可以了。注意:并不是说两个名字重复,给其中一个用了别名,另外一个就不需要用别名了,如果两个都要使用,则两个都需要用using来定义别名的。

例如:

namespace Test.namespace2
{
    class MyClass
    {
       public override string ToString()  
       {   
           return "You are in NameSpace2";
       } 
    }
}

namespace Test.namespace1
{
    class MyClass
    {
        public override string ToString()
        {
            return "You are in NameSpace1";
        }
        
    }
}


using myclass1=Test.namespace1;
using myclass2=Test.namespace2;
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            myclass1.MyClass m = new myclass1.MyClass();
            Console.WriteLine(m);
            myclass2.MyClass m2 = new myclass2.MyClass();
            Console.WriteLine(m2);
            Console.ReadLine();
        }
    }
}

  

3.using语句,定义一个范围,在范围结束时处理对象。

场景:

当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。

        /// <summary>
        /// sqlite数据库增删改操作
        /// </summary>
        /// <param name="sql">执行增删改的语句</param>
        /// <param name="parameters">执行增删改语句所需要的参数,参数必须以他们在sql语句中的顺序为准</param>
        public int executeNonQuery(String sql,SQLiteParameter[] parameters) {
            int affectedRows = 0;
            using(SQLiteConnection connection=new SQLiteConnection(connectionString)){
                connection.Open();
                using(DbTransaction transaction=connection.BeginTransaction()){
                    using(SQLiteCommand cmd=new SQLiteCommand(connection)){
                        cmd.CommandText = sql;
                        if(parameters!=null){
                            cmd.Parameters.AddRange(parameters);
                            
                        }
                        affectedRows = cmd.ExecuteNonQuery();
                    }
                    transaction.Commit();
                }
            }
            return affectedRows;
        }

 

以上是关于using三种用法的主要内容,如果未能解决你的问题,请参考以下文章

70.C++ using的三种用法详解

use 有啥用法

using 用法拾忆

Mysql using 用法

Mysql using 用法

use关键字在PHP中的几种用法