Vla*_*irs 5 c# naming-conventions
我喜欢变量命名正确但在某些情况下很难做到.
所以,如果我的对象实现,IDisposable
那么我可以使用:
using (var whatever = new Whatever()) { //... }
Run Code Online (Sandbox Code Playgroud)
但这种情况很少见,所以我找到了另一种方法来处理它 - 匿名阻止(不确定它是如何正确调用的):
//...
{
var whatever = new Whatever();
//...
}
//...
if (condition)
{
var whatever = new Whatever();
}
Run Code Online (Sandbox Code Playgroud)
这是一个好方法吗?是否有任何陷阱或普遍认为它会降低代码可读性?
基本上,如果编译器没有抱怨并且您的代码可读且易于理解,那么就没有问题。
例如:
foreach (var foo in foos)
{
var task = new FooTask(foo);
task.Run();
}
foreach (var bar in bars)
{
var task = new BarTask(bar);
task.Run();
}
Run Code Online (Sandbox Code Playgroud)
这实际上(在我看来)比
foreach (var foo in foos)
{
var task1 = new FooTask(foo);
task1.Run();
}
foreach (var bar in bars)
{
var task2 = new BarTask(bar);
task2.Run();
}
Run Code Online (Sandbox Code Playgroud)