1.using指令。

using 命名空间名字。
例如:

using System;

这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。
例如:using System; 一般都会出现在*.cs中。

2.using别名。

using 别名 = 包括详细命名空间信息的具体的类型。
例如

using aClass = NameSpace1.MyClass;

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using aClass = NameSpace1.MyClass;
using bClass = NameSpace2.MyClass;

namespace ConsoleAppUsing
{
    class Program
    {
        /// <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();
        }
    }
}

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

3.using语句。

定义一个范围,在范围结束时处理对象。
场景:
当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。
要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。

using (Class1 cls1 = new Class1(), cls2 = new Class1())
{
  // the code using cls1, cls2
} // call the Dispose on cls1 and cls2

随机推荐

  1. 每日分享!~ JavaScript数组去重

    数组去重 数组去重在很多面试的过程中,都是大题出现!网络上出现了很多数组去重的方式.多数的达到了12种以上. 今天我只给大家介绍两种我比较喜欢,比较认可!入手简单的-能解决自己的问题就可以了 好了 , ...

  2. GitHub 可以免费创建私人仓库啦

    如果你不知道什么是 GitHub,也可以往下看,只不过可能感受不会那么深啦. 昨天,GitHub 博客发表了文章 其中比较重要的已经用蓝色线标注了. GitHub 支持开发者创建免费私人仓库,但是需要 ...

  3. Notepad++替换SQL Server Select窗口列名的中括号的小技巧

    条件:“查找模式”那选中“扩展” 一.简单替换 查找目标(包括空格,各个SSMS版本可能不同): ]\r\n ,[ 替换为:, 二.替换为@ 查找目标(包括空格,各个SSMS版本可能不同): ]\r\ ...

  4. MySQL 笔记整理(18) --为什么这些SQL语句逻辑相同,性能却差异巨大?

    笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 18) --为什么这些SQL语句逻辑相同,性能却差异巨大? 本篇我们以三 ...

  5. Eclipse中安装git后pull远程仓库出现错误解决方法

    该图中位置为false 在配置文件中添加如下语句 -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2

  6. animate-queue和step-animate

    Step-animate: 分为3部分:{配置},{step:function(){...},duration:1000} <div id="warpper" style=& ...

  7. Chart.js 與 ASP.NET MVC 整合應用

    Chart.js 是一套開放原始碼的「圖表」繪製函式庫,和其他第三方的圖表工具相比,Chart.js 的特色如下: 支援 HTML 5.響應式網頁 (RWD, Responsive Web Desig ...

  8. Java中字符串相加和字符串常量相加区别

    有一道这样的程序: public class TestStringDemo { public static void main(String[] args) { String s1 = "P ...

  9. ClickOnce一项Winform部署

    先建一个Winform 控制台程序 建好后从工具箱里拖出来个 文本框 在属性中把TEXT改了 鼠标放到项目上点击右键——>属性 如下图所示,有两个发布位置. 发布位置可以选择本地文件夹,也可以选 ...

  10. Thymeleaf 的 onclick

    th:onclick="'javascript:openBox(\''+${curCabNo}+'\',\''+${box.no}+'\')'" 真的难受 ,有没有好办法!!!!