我想知道c#中"使用"关键字的用途是什么,我是新手..当我们需要使用"使用"关键字时...我用谷歌搜索它,不能满足于答案.我还想知道更多来自你的Geeks ..
谢谢
Jon*_*eet 25
两个用途:
使用指令,例如
using System;
using System.IO;
using WinForms = global::System.Windows.Forms;
using WinButton = WinForms::Button;
Run Code Online (Sandbox Code Playgroud)
这些用于导入名称空间(或为名称空间或类型创建别名).在任何声明之前,它们位于文件的顶部.
使用语句例如
using (Stream input = File.OpenRead(filename))
{
...
}
Run Code Online (Sandbox Code Playgroud)
这只能用于实现的类型IDisposable
,并且是Dispose
在finally块中调用的try/finally块的语法糖.这用于简化资源管理.
Eli*_*sha 11
在C#中使用有两个含义:
Dispose
方法将被调用.使用块的工作原理的基本示例:
"虚拟"一次性类:
public class DisposableClass : IDisposable
{
public static bool WasDisposed { get; private set;}
public void Dispose()
{
WasDisposed = true;
}
}
Run Code Online (Sandbox Code Playgroud)
一些非常简单的代码,演示何时调用Dispose:
[Test]
public void DisposeSample()
{
using (var disposableClass = new DisposableClass())
{
Assert.IsFalse(DisposableClass.WasDisposed);
}
Assert.IsTrue(DisposableClass.WasDisposed);
}
Run Code Online (Sandbox Code Playgroud)
我假设你在讨论使用控制块而不是using [namespace]语句.基本上,关键字是用于安全地初始化和处理对象的语法糖.它适用于任何实现IDisposable的对象.下列:
using(MyType obj = new MyType())
{
... do stuff.
}
Run Code Online (Sandbox Code Playgroud)
相当于:
MyType obj = new MyType();
try
{
.... do stuff
}
finally
{
if(obj != null)
{
obj.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)