-3

我无法理解usingc# 的语法。我已经看到很多代码片段使用

代码之类的。

using (StreamReader rdr = File.OpenText("file.txt"))
{
 //do stuff
}

该语法的含义是什么,它是某种循环吗?

4

4 回答 4

1

语法是一个包装器,using用于确保资源被释放(对实现的事物进行操作IDisposable),您正在特定资源用于其后面的块的范围。

using语句只是语法糖:

StreamReader rdr = File.OpenText("file.txt");
try
{
    //do stuff
}
finally
{
    rdr.Dispose();
}
于 2013-06-06T13:45:38.203 回答
1

using 语句是处理需要处置和/或关闭的对象的一种非常有用的方法

它替代了这样的代码

StreamReader sr = new StreamReader(....)
try
{
     .... use the StreamReader
}
finally
{
    sr.Dispose();
}

如您所见,在 using 初始行中声明的对象始终传递给 finally 块,并且在出现异常时也调用其 dispose 方法

using 语句不应与使用的using指令混淆

允许在命名空间中使用类型,这样您就不必限定在该命名空间中使用类型,并为命名空间或类型创建别名。这称为使用别名指令。

using System.IO;  // Allows to type StreamReader instead of System.IO.StreamReader
using Project = PC.MyCompany.Project;  // Allows to type just Project.MyClass
于 2013-06-06T13:46:26.463 回答
0

通过使用“使用”,您可以确保正确处理对象。

以下问题对此有一些很好的答案:

C#中“使用”的使用

您还可以在 MSN 上阅读以下内容:

MSDN C# 使用

于 2013-06-06T13:43:36.180 回答
0

不,这不是一个循环。它是一个语句,表示另一个代码块内的新代码块。考虑到这一点的好处是您不必处理在using语句中初始化的对象,但这意味着它们必须这样IDisposable才能被使用。较新版本的 .NET 框架可以很好地处理已处置的对象,并最大限度地减少应用程序的内存占用。它还使长过程更好地结构化和更具可读性(在我看来)。

使用语句

于 2013-06-06T13:50:05.023 回答