C# Using 使用方法详解
来源:互联网 发布:淘宝卖的魔兽世界宏 编辑:程序博客网 时间:2024/05/29 04:26
Using 这个方法之前一直以为只有引用命名空间 的作用,原来也是一个方法,前阵子公司做了了ExcelToSQL的小程序,遇到连接池溢出的问题,后来使用的using()完美解决。
(1)引用命名空间
using作为引入命名空间指令的用法规则为:
using Namespace;
在.NET程序中,最常见的代码莫过于在程序文件的开头引入System命名空间,其原因在于System命名空间中封装了很多最基本最常用的操作。
关于:命名空间
命名空间是.NET程序在逻辑上的组织结构,而并非实际的物理结构,是一种避免类名冲突的方法,用于将不同的数据类型组合划分的方式。例如,在.NET中很多的基本类型都位于System命名空间,数据操作类型位于System.Data命名空间,
(2)创建命名空间别名
using为命名空间创建别名的用法规则为:
using alias = namespace | type;
其中namespace表示创建命名空间的别名;而type表示创建类型别名。例如,在.NET Office应用中,常常会引入Microsoft.Office.Interop.Word.dll程序集,在引入命名空间时为了避免繁琐的类型输入,我们通常为其创建别名如下:
using MSWord = Microsoft.Office.Interop.Word;
这样,就可以在程序中以MSWord来代替Microsoft.Office.Interop.Word前缀,如果要创建Application对象,则可以是这样,
而且还有一个好处就是,在一个.CS文件中引入了不同的命名空间但是相同的类名的时候,用别名就可以解决这问题了。
3)强制资源清理
用途:清理非托管资源,不受GC控制的资源。Using结束后会隐式的调用Disposable方法。
用法:
using (Class1 c = new Class1())
{
}//清理非托管不受GC控制的资源
但是当对象使用using关键字的时候,必须实现IDisposable接口。其实using的使用和try-catch-finaly中,在finaly代码域调用Disposable方法效果一样。注意Using不能使用多个不同的类
Class1 f = new Class1();
try
{ //执行代码
}
catch()
{
//异常处理
}
finally
{
f.Disposable();
}
using 语句获取一个或多个资源,执行一个语句,然后处置该资源。
using 语句:
using ( 资源获取 ) 嵌入语句
资源获取:
局部变量声明
表达式
资源是实现 System.IDisposable 的类或结构,它包含名为 Dispose 的单个无参数方法。(如:截图2)正在使用资源的代码可以调用 Dispose 以指示不再需要该资源。如果不调用 Dispose,则最终将因为垃圾回收而发生自动处置。
如果资源获取的形式是局部变量声明,那么此局部变量声明的类型必须为System.IDisposable 或是可以隐式转换为 System.IDisposable 的类型。如果资源获取的形式是表达式,那么此表达式必须是 System.IDisposable 或是可以隐式转换为 System.IDisposable 的类型。
在资源获取中声明的局部变量必须是只读的,且必须包含一个初始值设定项。
using 语句被翻译成三个部分:获取、使用和处置。资源的使用隐式封闭在包含一个 finally 子句的 try语句中。此 finally 子句处置资源。如果获取了 null 资源,则不进行对 Dispose 的调用,也不引发任何异常。
例如,下列形式的 using 语句
using (R r1 = new R()) {
r1.F();
}
完全等效于
try {
r1.F();
}
finally {
if (r1 != null) ((IDisposable)r1).Dispose();
}
- C# Using 使用方法详解
- C# Using 使用方法
- C# using 使用方法
- c# using 的使用方法,using别名
- C#中using的使用方法
- C#中using的使用方法
- using C# 详解
- using C# 详解(2)
- C# using用法详解
- C#中using详解
- C# DataTable使用方法详解
- C#进程的使用方法详解
- 详解C# RichTextBox的使用方法
- c#的dllimport使用方法详解
- c#的dllimport使用方法详解
- c#的dllimport使用方法详解
- C#中关键字using的三种使用方法
- c#中using的用法详解
- 正则表达式截取成对括号
- 小米凶猛:1000台–>100万台–>∞
- 10个针对开发者的实用CSS工具
- 关于*.dsw文件的关联,禁止双击后vs2008打开vc6的工程项目
- 如何才能更加有效率
- C# Using 使用方法详解
- 学习html的好网站
- ASP.NET 3.5 MVC 概述
- 豆瓣网推广技术
- 可更新物化视图复制站点
- 应用HTML5须知五则
- OnCtlColor 使用问题
- 从今起多写博客
- Java中JSON解析器的一点见解