[问题] 变量范围

楼主: 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