C#中using的三种用法
来源:互联网 发布:矩阵lu分解步骤 编辑:程序博客网 时间:2024/04/29 16:12
C#中using的三种用法
熟悉C++的人看到using就想到引用命名空间,当然在C#中也一样。
但同时C#中的using比C++中的多了两项功能,下面详细说明。
第一种用法:using + 命名空间
这种用法跟C++的一样,引用一个命名空间,这样在程序里就可以直接引用命名空间里的类型,而不用详细指定其完整路径。
例如:using System;
这样当调用System.Write()时就可以直接写Write()就可以了。
第二种用法:using + 别名 = 具体命名空间的类型
这种用法主要是用于当某一类型所在的命名空间的路径过长,这样可以使应用刚类型更加方便。
而且当引用的两个命名空间中具有相同类名的两个类时,只要为他们定义不同的类名就可以了。
例如:
using System;
using aClass = NameSpace1.MyClass;
using bClass = NameSpace2.MyClass;
namespace NameSpace1
{
public class MyClass
{
public override string ToString()
{
return "You are in NameSpace1.MyClass";
}
}
}
namespace NameSpace2
{
class MyClass
{
public override string ToString()
{
return "You are in NameSpace2.MyClass";
}
}
}
namespace testUsing
{
using NameSpace1;
using NameSpace2;
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
aClass my1 = new aClass();
Console.WriteLine(my1);
bClass my2 = new bClass();
Console.WriteLine(my2);
Console.WriteLine("Press any key");
Console.Read();
}
}
}
第三种用法:
using (Class1 c = new Class1())
{
//代码段
}
用于强制资源清理,清理非托管资源,不受GC控制的资源。Using结束后会隐式的调用Disposable方法。
当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。但是要注意,当对象使用using关键字的时候,必须实现IDisposable接口。
上面语句相当于:
- Class1 c = new Class1();
- try
- {
- //执行代码
- }
- catch()
- {
- //异常处理
- }
- finally
- {
- c.Disposable();
- }
使用using的一个例子:
class C : IDisposable
{
public void UseLimitedResource()
{
Console.WriteLine("Using limited resource...");
}
void IDisposable.Dispose()
{
Console.WriteLine("Disposing limited resource.");
}
}
class Program
{
static void Main()
{
using (C c = new C())
{
c.UseLimitedResource();
}
Console.WriteLine("Now outside using statement.");
Console.ReadLine();
}
}
- C#中using的三种用法
- C#中using的三种用法
- C#中using的三种用法
- C#中using的三种用法
- C#中using的三种用法
- C#中using的三种用法
- C#中using的三种用法
- C#中using的三种用法
- c#中using的三种用法
- 三种C# using的用法
- C# Using的三种用法
- 三种C# using的用法
- c# using 的三种用法
- C#中的using的三种用法
- c#中using的几种用法
- C#中using的几种用法
- c#中using的用法
- C#中using的用法
- JScrollBar的使用小技巧
- web service 数据传输有什么限制? DataTable可以作为web service参数传递
- C#实现Apriori算法(源代码)
- js禁用参数大全
- 超越设计模式
- C#中using的三种用法
- wxPython做界面的适用性
- ORACLE RAC工作原理
- agent for rsa
- continue和break的区别
- Java抽象类和接口的区别
- 关于LINQ Lambda表达式n => n 如何用表达式树表示的解决方案
- JavaScript日期处理函数
- 关于VC中的Timer(转)