目录 1 :using 指令(命名空间) 2 :using 语句 (1 ):using (ResourceType Identifier = Expression )Statement (2 ):using (Expression) Statement 3 :using 别名 总结 这里记录下C#中 using 关键字的使用方
目录
- 1 :using 指令(命名空间)
- 2 :using 语句
- (1 ):using (ResourceType Identifier = Expression ) Statement
- (2 ):using (Expression) Statement
- 3 :using 别名
- 总结
这里记录下C#中using关键字的使用方法。
Using的使用大致分别以下三种:
1 :using 指令(命名空间)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
2 :using 语句
某些类型的非托管对象有数量限制或很耗费系统资源,在代码使用完它们后,尽可能快的释放它们时非常重要的。using语句有助于简化该过程并确保这些资源被适当的处置(dispose)。
这里大致分为两种形式。
(1 ):using (ResourceType Identifier = Expression ) Statement
Using表达式
圆括号中的代码分配资源,Statement是使用资源的代码
using语句会隐式产生处置该资源的代码,其步骤为:
a:分配资源
b:把Statement放进try块
c:创建资源的Dispose方法的调用,并把它放进finally块
// using 语句 using (usings.factory fac = new usings.factory()) { fac.CreateProduct(); }
(2 ):using (Expression) Statement
Using对象
Expression 表示资源,Statement是使用资源,资源需要在using之前声明
usings.factory facs = new usings.factory(); // using 对象 using (facs) { facs.CreateProduct(); }
Factory类:
namespace usings { public class factory : IDisposable { public void CreateProduct() { Console.WriteLine("创建了一个产品!"); } public void Dispose() { Console.WriteLine("该对象销毁~"); } } }
这里需要说我遇到的一个小问题,如图所示:
解决方法很简单,自定义的类继承IDisposable类,实现其Dispose方法。
具体如我上边的代码所示。
3 :using 别名
用using为命名空间或类型定义别名,当引入的多个命名空间包含相同名字的类型时,需要使用该类型时,可以通过using为其指定别名,使代码更加简洁,避免冲突。
这里放上这次测试使用的全部代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; // 别名 using afactory = usings.usingsaaa.factory; using bfactory = usings.usingsbbb.factory; namespace usings { class Program { static void Main(string[] args) { // using 语句 using (usings.factory fac = new usings.factory()) { fac.CreateProduct(); } Console.WriteLine("------------------------------------------"); usings.factory facs = new usings.factory(); // using 对象 using (facs) { facs.CreateProduct(); } Console.WriteLine("------------------------------------------"); // 别名 afactory a = new afactory(); // 代替usingsaaa.factory a.CreateProduct(); Console.WriteLine("------------------------------------------"); bfactory b = new bfactory(); // 代替usingsbbb.factory b.CreateProduct(); Console.ReadKey(); } } namespace usingsaaa { public class factory { public void CreateProduct() { Console.WriteLine("aaa工厂创建了一个产品!"); } } } namespace usingsbbb { public class factory { public void CreateProduct() { Console.WriteLine("bbb工厂创建了一个产品!"); } } } namespace usings { public class factory : IDisposable { public void CreateProduct() { Console.WriteLine("创建了一个产品!"); } public void Dispose() { Console.WriteLine("该对象销毁~"); } } } }
以上就是对using关键字的一些总结。
总结
到此这篇关于C#中using关键字使用的文章就介绍到这了,更多相关C# using关键字使用内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!