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
}
}
有四种使用场景,大家还遇到别的场景吗?欢迎留言讨论。
![]() |
Austin Liu 刘恒辉
Project Manager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2023-04-13 4、Web前端学习规划:JavaScript - 学习规划系列文章
2023-04-13 3、Web前端学习规划:CSS - 学习规划系列文章
2009-04-13 中小企业OA系统方案选型六个误区