using在C#中随处可见,比如引入命名空间,这是也是每个C#的cs页面必须存在的,除了引入命名空间还有几种用法,下面将介绍这几种的使用。
这是最常见最基本的用法, 这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于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 { }}
当两个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); } }}
当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose,常见的有关闭数据库链接、关闭读取文件流等。也可以用try...catch来捕捉异常,但使用using更佳。
语法:using(){ } 或者using var classa =new Classa();
//方式1using(SqlConnection conn = new SqlConnection(conStr))/{ conn.Open();}//结束后自动释放conn //方式2using SqlConnection conn = new SqlConnection(conStr)//这样也可以
注意,方式2是C#8引入了一个新的using语法,可以不用花括号,变量出了其生命周期自动释放。
指定无需指定类型名称即可访问其静态成员的类型,这个跟第一种有点类似。
语法: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 } }
本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-84035-0.htmlC# 中 using 的几种使用场景
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com
上一篇: C#中的异常处理与错误返回