我發現自己經常會限制範圍。我發現它使代碼更清晰,並且允許我更容易地重用變量。這在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