C# - 有没有理由不实例化一个类并在一行代码中使用它?

标签 c# class dispose using-statement

我知道这是使用 StreamWriter 的正确方法:

using (StreamWriter sw = new StreamWriter(hreq.GetRequestStream()))
    sw.Write(jsonPostData);

但是这个呢?这也是有效的还是应该避免的?能妥善处理吗?

new StreamWriter(hreq.GetRequestStream()).Write(jsonPostData);

最佳答案

当使用IDisposable(即通常是外部资源)时,您需要对其调用Dispose()using 是为您完成此操作的语法糖,但主体仍然存在 - 您使用一些特殊的调用来确保调用 Dispose() 。在第二个代码段中,未调用 Dispose(),并且您将泄漏资源,直到程序终止。

关于C# - 有没有理由不实例化一个类并在一行代码中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60714016/

相关文章:

c# - 无法使用 linq lambda 表达式转换类型为 'System.Data.Entity.Infrastructure.DbQuery` 1[]' 的对象

c# - `where T : Delegate` 还是 `where T : MulticastDelegate` ?

c# - 如何防止某些方法的继承?

c++ - 我试图通过我的场景获得的面向对象的想法是什么?

c# - 奇数任务并行库 InvalidOperationException

c# - CA2000,我不明白原因

c# - C#中的Gzip压缩和解压

时间:2019-03-17 标签:c#DatabindingsNull-ValueIssue

JavaScript : Best way to create class

c# - 垃圾收集器订单