微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c#中的using构造怎么样?

我看到了这个:

using (StreamWriter sw = new StreamWriter("file.txt"))
{
     // d0 w0rk s0n
}

我尝试查找信息的所有内容都没有解释这是做什么的,而是给了我关于命名空间的东西.

解决方法

您想查看 using statement的文档(而不是有关命名空间的using指令).

基本上它意味着将块转换为try / finally块,并在finally块中调用sw.dispose()(使用适当的无效检查).

您可以在任何处理实现Idisposable的类型的地方使用using语句 – 通常您应该将它用于您负责的任何一次性对象.

关于语法的几个有趣的部分:

>您可以在一个语句中获取多个资源:

using (Stream input = File.OpenRead("input.txt"),output = File.OpenWrite("output.txt"))
{
    // Stuff
}

>您不必分配给变量:

// For some suitable type returning a lock token etc
using (padlock.Acquire())
{
    // Stuff
}

>你可以在没有牙套的情况下筑巢;方便避免缩进

using (TextReader reader = File.OpenText("input.txt"))
using (TextWriter writer = File.CreateText("output.txt"))
{
    // Stuff
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐