在 C# 8.0 中,我们现在可以在 C# 8.0 中使用using 声明。他们真的是个好主意吗?考虑这个 using 语句:
private int SomeMethod()
{
using (var t = new StreamWriter("somefile.txt"))
{
} // dispose of variable t
// 100 lines of code
}
Run Code Online (Sandbox Code Playgroud)
一旦到达右大括号,变量t就被处理掉。使用 using 声明,场景有所不同:
private int SomeMethod()
{
using var t = new StreamWriter("somefile.txt");
// 100 lines of code
} // dispose of variable t
Run Code Online (Sandbox Code Playgroud)
该变量t仅在方法结束时处理。使用语句对我来说似乎更有效,因为您只能在需要时保持对象“存活”。
答案可以有多种,有多种不同的场景。
例如,就您而言,它可以是:
该函数足够大,因此拆分是有意义的。请记住,在考虑到单元测试的现代编程中,单元必须足够小并且函数必须足够小以执行特定的操作。
100 行很快就会结束。如果是这样的话,那么使用新的更具可读性的定义就可以了。
下面几行需要相同的资源。那为什么不使用同一个实例然后处置呢?
在其余的行中,发生了一些需要时间的事情。那么保持一个项目不被处理(比如 Stream)是没有意义的,应该使用旧的方法。
这份名单可以继续使用。没有一个解决方案适合所有示例,但在大多数情况下,我认为第一个解决方案适用。
| 归档时间: |
|
| 查看次数: |
238 次 |
| 最近记录: |