• 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;
            }
  • 相关阅读:
    mysql面试题
    Excel下载打不开
    Linux安装jdk1.8和配置环境变量
    Linux压缩、解压文件
    Linux常用命令1
    VMware下载安装及CentOS7下载安装
    ueditor的简单配置和使用
    linux的tomcat服务器上部署项目的方法
    TortoiseSVN客户端的使用说明
    CentOS 6.5系统上安装SVN服务器
  • 原文地址:https://www.cnblogs.com/taray/p/5311475.html
Copyright © 2020-2023  润新知