我想知道在c#中使用“using”关键字有什么用,我是新手... 当我们需要使用“使用”关键字时..我google了它,不能满意答案。我还想知道更多来自你的Geeks ..
由于
答案 0 :(得分:25)
两种用途:
使用指令,例如
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块的语法糖。这用于简化资源管理。
答案 1 :(得分:11)
使用在C#中有两个含义:
Dispose
方法的块。使用块的工作原理的基本示例:
“虚拟”一次性课程:
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);
}
答案 2 :(得分:7)
我假设你在谈论使用控制块而不是using [namespace]语句。基本上,关键字是用于安全地初始化和处理对象的语法糖。它适用于任何实现IDisposable的对象。 以下内容:
using(MyType obj = new MyType())
{
... do stuff.
}
相当于:
MyType obj = new MyType();
try
{
.... do stuff
}
finally
{
if(obj != null)
{
obj.Dispose();
}
}
答案 3 :(得分:4)
关键字有两种用途。
其中一个是当你懒得输入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
块中。
答案 4 :(得分:3)
有三种用途:
我不相信我能比一般条款的MSDN文章更清楚地解释。如果您无法理解它们,最好发布一个关于您不理解的详细信息的更具体的问题。
答案 5 :(得分:3)
“using”关键字也可用于制作类型别名。这里Item是Dictionary的别名。 这种方法可以节省一些输入:)
例如,
using Item = System.Collections.Generic.Dictionary<string, string>;
namespace Sample
{
using Records = Dictionary<int, Item>;
public class Controller
{
Records recordDictionary = new Records();
}
}
答案 6 :(得分:2)
非常确定在某个地方会有这个副本....但是,简而言之,using关键字用于指定您正在创建的对象的范围。一旦物体离开使用块就被丢弃,即自动调用Dispose。
有关详细信息,请参阅using Statement (C#)。
答案 7 :(得分:2)
完成后,它为您提供了一种简单的方法来清理资源。使用使用构造,一旦您完成使用资源,它们就会自动释放。它甚至可以在异常的情况下清理资源。
答案 8 :(得分:1)
答案 9 :(得分:1)
'using'关键字有两种用途:
using System.Web
作为using 语句,仅适用于从IDisposable
继承的类型。这在using语句超出范围后自动调用对象上的Dispose()
方法,因此您不必担心自己自动调用此方法,或者在数据库连接上调用Close()
,例如:
使用(MySqlConnection connection = new MySqlConnection()) { // .. }
答案 10 :(得分:0)
答案 11 :(得分:0)
C#中使用关键字有两种不同的用途:
在后一种情况下,using(myVar) {}
是:
IDisposable disposable = (IDisposable)myVar;
try
{
// your code here
}
finally
{
if (disposable != null)
disposable.Dispose();
}
答案 12 :(得分:0)
使用可以用于:
typedef
)答案 13 :(得分:0)
using keyword可用于将namspace或库导入(关联)我们的程序。因此我们可以使用我们程序中的库中可用的函数。它有点像参考
例如:使用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());
}
}
酷...!