C# 中 using 的几种使用场景

开发
using在C#中随处可见,比如引入命名空间,这是也是每个C#的cs页面必须存在的,除了引入命名空间还有几种用法,下面将介绍这几种的使用。

using在C#中随处可见,比如引入命名空间,这是也是每个C#的cs页面必须存在的,除了引入命名空间还有几种用法,下面将介绍这几种的使用。

1.用于引入命名空间

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

语法:using 命名空间名字。下面是具体案例

using System;
using TestnamespaceName;//引入了下面的命名空间,有可能不是一个文件夹
namespace ConsoleApp1
{
    public class Program2
    {
        public static void Main2()
       { var rel = new tests(); }//引入命名空间才能实例化类
    }
}
namespace TestnamespaceName //命名空间
{
    public class tests { }
}

2.给命名空间取别名

当两个cs文件都包含同一个名字的命名空间的时候使用,不需要使用详细命名空间来区分相同的名字,直接使用别名更方便。

语法:using 别名=class.name

using System;
using aClass = NameSpace1.MyClass; //取别名
using bClass = NameSpace2.MyClass;//取别名
namespace ConsoleAppUsing
{
    class Program
    {
        static void Main(string[] args)
        {
            aClass my1 = new aClass();
            Console.WriteLine(my1);
            bClass my2 = new bClass();
            Console.WriteLine(my2);
        }
    }
}

3.在定义的范围释放托管资源

当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose,常见的有关闭数据库链接、关闭读取文件流等。也可以用try...catch来捕捉异常,但使用using更佳。

语法:using(){ } 或者using var classa =new Classa();

//方式1
using(SqlConnection conn = new SqlConnection(conStr))/
{
     conn.Open();
}//结束后自动释放conn 
//方式2
using SqlConnection conn = new SqlConnection(conStr)//这样也可以

注意,方式2是C#8引入了一个新的using语法,可以不用花括号,变量出了其生命周期自动释放。

4.using static 指令

指定无需指定类型名称即可访问其静态成员的类型,这个跟第一种有点类似。

语法:using static System.class ;var a= ;

 using static System.Math;//静态成员的类型
    public class Program2
    {
        public static void Main2()
       { var rel = new tests();
            var a = PI; // 直接使用System.Math.PI
        }
    }
责任编辑:赵宁宁 来源: 程序员编程日记
相关推荐

2011-07-06 10:47:52

C#using

2009-08-18 09:22:47

应用场景C#分部方法

2024-03-06 09:24:50

AsyncAwaitC#

2011-05-23 13:27:53

2017-11-27 09:11:42

SSDceph应用

2009-08-28 10:08:15

C# using语句

2023-05-16 07:47:18

RabbitMQ消息队列系统

2009-08-27 16:00:59

C#中using用法

2024-04-01 11:30:57

C#拷贝

2024-01-30 09:43:43

Java缓存技术

2011-04-27 09:22:28

C#延迟加载

2009-08-26 14:01:33

C# using用法

2022-07-29 07:48:15

HTTP常用状态码

2010-12-21 14:21:36

线程C#

2009-08-26 18:10:44

C# using的用法

2009-08-27 15:53:30

C#中using wo

2013-12-25 16:03:39

GitGit 命令

2021-01-20 05:53:25

C# ValueTupleTuple

2020-02-14 13:50:32

JavaScript前端技术

2023-11-21 16:22:14

人工智能制造业
点赞
收藏

51CTO技术栈公众号