我正在清理一些代码并删除了if
不再需要的语句。但是,我意识到我忘了删除括号。这当然是有效的,只是创建了一个新的本地范围。现在这让我思考。在我多年的 C# 开发中,我从来没有遇到过使用它们的理由。事实上,我有点忘了我能做到。
定义本地范围有什么实际好处吗?我知道我可以在一个范围内定义变量,然后在不相关的范围内(for、foreach 等)再次定义相同的变量,如下所示:
void SomeMethod()
{
{
int i = 20;
}
int i = 50; //Invalid due to i already being used above.
}
void SomeMethod2()
{
{
int i = 20;
}
{
int i = 50; //Valid due to scopes being unrelated.
}
{
string i = "ABCDEF";
}
}
定义本地范围的真正意义是什么?实际上可以有任何形式的性能提升(或潜在的损失)吗?我知道您可以在 C++ 中执行此操作,并且是帮助您管理内存的一部分,但是因为这是 .NET,真的会有好处吗?这只是让我们定义随机范围的语言的副产品,即使没有真正的好处?