我想知道在C#中,“using”关键字的用途是什么,我是新手...我们何时需要使用“using”关键字...我查了一下谷歌,但没有得到令人满意的答案。仍然想从你们geeks那里获得更多信息。
谢谢。
两种用法:
使用指令,例如
using System;
using System.IO;
using WinForms = global::System.Windows.Forms;
using WinButton = WinForms::Button;
这些用于导入命名空间(或创建命名空间或类型的别名)。它们位于文件顶部,在任何声明之前。
使用语句,例如:
using (Stream input = File.OpenRead(filename))
{
...
}
这只能用于实现了IDisposable
接口的类型,并且是一个语法糖,用于在finally块中调用Dispose
方法的try/finally块。这用于简化资源管理。
using
指令和 using
语句永远不可能出现在同一个位置,重用相同的关键字确实可以减少关键字的数量。 - Jon Skeetusing 在 C# 中有两个含义:
Dispose
方法。下面是一个使用 using 块的基本示例:
一个“虚拟”的可处理对象类:
public class DisposableClass : IDisposable
{
public static bool WasDisposed { get; private set;}
public void Dispose()
{
WasDisposed = true;
}
}
这是一段演示Dispose何时被调用的非常简单的代码:
[Test]
public void DisposeSample()
{
using (var disposableClass = new DisposableClass())
{
Assert.IsFalse(DisposableClass.WasDisposed);
}
Assert.IsTrue(DisposableClass.WasDisposed);
}
我猜你说的是使用控制块,而不是使用 [namespace] 语句。基本上,这个关键字是安全地初始化和释放对象的语法糖。它适用于任何实现了 IDisposable 接口的对象。
using(MyType obj = new MyType())
{
... do stuff.
}
相当于:
MyType obj = new MyType();
try
{
.... do stuff
}
finally
{
if(obj != null)
{
obj.Dispose();
}
}
这个关键字有两种用法。
一种是当你懒得打出 System.Web.UI.WebControls.TextBox
时,你可以在代码文件顶部添加 using System.Web.UI.WebControls
,然后只需写 TextBox
即可。它的作用仅仅是缩短你需要编写的代码(并且使其更易于阅读)。
另一种用法与 IDisposable
接口有关。该接口用于需要在使用完毕后进行清理的对象,例如需要关闭的文件、数据库连接等等。你可以在需要的地方自己调用 Dispose()
方法,但使用这个关键字会更加方便。简而言之:
using (var X = new MyObject())
{
// Code goes here
}
等同于:
var X = new MyObject();
try
{
// Code goes here
}
finally
{
if ( X != null )
X.Dispose();
}
Dispose()
方法都将被调用。即使您的代码抛出异常或从方法中return
,Dispose()
方法也将被调用。这样可以确保您不会意外地留下文件打开或其他操作。IDisposable
接口的对象,请将其放置在using
块中。using Item = System.Collections.Generic.Dictionary<string, string>;
namespace Sample
{
using Records = Dictionary<int, Item>;
public class Controller
{
Records recordDictionary = new Records();
}
}
很确定在其他地方会有类似的重复内容......然而,简单来说,使用关键字用于指定正在创建的对象的范围。一旦对象退出using块,即Dispose会自动调用以释放对象。
有关详细信息,请参见using 语句 (C#)。
在使用完资源之后,using结构提供了一种简便的方法来清理资源。它甚至可以在出现异常的情况下自动清理资源。
使用关键字可以将命名空间或库与我们的程序关联起来,以便我们可以在程序中使用该库中可用的函数。这有点像引用。
例如:using System.IO
这意味着我们将使用该库中存在的一些函数
您可以编写自己的库并使用using语句导入它。 例如:
namespace MyProject.MyNamspace
{
public class MyCustomClass
{
public static string MyFunctionToSmile()
{
return "He he he heeee";
}
}
}
在您的 C# 页面中使用此代码:
using MyProject.MyNamspace
public class MyClass
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(MyCustomClass.MyFunctionToSmile());
}
}
Cool...!
using
关键字是有用的。使用using
可以帮助预防异常问题。使用using
可以更有效地使用一次性对象。使用不同的using
可以帮助你使用命名空间或类型名称。非常有用。 - Michael Burr