我发现自己经常会限制范围。我发现它使代码更清晰,并且允许我更容易地重用变量。这在C中特别方便,其中必须在新范围的开始处声明变量。为什么我看不到更加频繁的更严格的范围界定?
这里是我的意思的一个例子。
{
int h = 0;
foreach (var item in photos)
{
buffer = t.NewRow();
h = item.IndexOf("\\x\\");
buffer["name"] = item.Substring(h, item.Length - h);
t.Rows.Add(buffer);
}
}
有了这个例子中,我限制h的范围内,在不每次迭代初始化。
但我没有看到许多其他开发者经常这样做。这是为什么?这样做有缺点吗?
“这在C中特别方便,其中必须在新范围的开始处声明变量。” C99已经出现了十多年了...... – 2010-06-18 05:48:45
@Matthew:不幸的是,作为一个人,我仍然有时在MSVC中使用C语言工作,并且它不支持与C语句混合使用声明的事实是一个真正的刺激物。 – 2010-06-18 05:58:26
是的,微软已经[非常清楚](http://connect.microsoft.com/VisualStudio/feedback/details/485416/support-c99)他们无意支持现代C标准。然而,让人们认识到标准和许多编译器(GCC,clang,icc等)是非常重要的。)提供此功能。 – 2010-06-18 06:16:53