[問題] 變數範圍

作者: mingpepe   2015-05-17 22:37:02
用的是 C# 5.0, .NetFramework 4.5, Visual Studio 2013
//
作者: yuhaw0715 (kks0123)   2015-05-17 22:45:00
因為i被宣告兩次,而且這樣會造成無限迴圈的說...
作者: mingpepe   2015-05-17 22:47:00
for後面有大括號
作者: wenyonba (射後不理很XX啊!!!!)   2015-05-17 22:47:00
因為並不是你 int i; 在 for 後面,就代表外面的 i 僅限於 for 之後~~
作者: mingpepe   2015-05-17 22:50:00
怎麼我不太理解樓上的說法?
作者: GoalBased (Artificail Intelligence)   2015-05-17 23:10:00
為什麼你會覺得可以?
作者: mingpepe   2015-05-17 23:26:00
變數i在離開for迴圈後就會消失,為什麼會無法在宣告一個變數i? 至少這在C++是可以的
作者: GoalBased (Artificail Intelligence)   2015-05-17 23:36:00
可是你寫的是C#阿..可以參考C# 語言規格第三章至於說為什麼喔,應該只是比較嚴謹吧
作者: mingpepe   2015-05-17 23:42:00
是的 我當然了解這是C#不是C++ 我好奇的是理由不同的語言有不同的語法 也會帶來不同的好處與壞處
作者: GoalBased (Artificail Intelligence)   2015-05-17 23:43:00
哦..規定阿
作者: mingpepe   2015-05-17 23:43:00
既然在for迴圈外無法存取變數i 有什麼樣的理由會限制不能再次宣告同名的變數
作者: GoalBased (Artificail Intelligence)   2015-05-17 23:46:00
http://www.programmer-club.com.tw/ShowSameTitleN/csharp/13369.html 參考一下別人的回答PTT不讓我貼縮網址了= = 自己複製一下吧他那一段也是語言規格裡面截出來的我最近剛好也在看這個東西,如果你對這種東西有興趣的Program Files (x86)\Microsoft Visual Studio 12.0\VCVC#\Specifications 底下有語言規格的word黨可以看如果要再深入一點我也沒辦法回答了可以考慮上MSDN問看看
作者: TobyH4cker (Toby (我要當好人))   2015-05-18 11:13:00
我才跟IL的特性有關猜我回家試試看原來下篇有人提到了

Links booklink

Contact Us: admin [ a t ] ucptt.com