日期:2014-05-20  浏览次数:20851 次

c# 循环 声明变量
当在某一条指令放在循环体内的时候,就会被循环执行一定的次数。

例如
while(true)
{
        Console.Write( "1 ");
}
就会不断输出1。  


但是,把声明变量放在循环体内
while(true)
{
        int   a;
}
是不是会不断地声明a这个变量?
如果不是的话,编译器是怎么处理在循环内部声明变量的?

------解决方案--------------------
while(true)
{
int a;
}
是不是会不断地声明a这个变量?
-=--------------------------
是。
但这个变量的生存期限在while{}循环体内,}后,回收...

------解决方案--------------------
不会,编译器会自动优化……
------解决方案--------------------
这样好像会报错的吧!!!
如果不会 同意csShooter
------解决方案--------------------
不会重复声明
------解决方案--------------------
会不断声明,因为是局部变量,所以也不断回收...
------解决方案--------------------
C#语法规定就是所有变量的生命期在{...}之内,出去就被垃圾回收器吃掉了,因此循环内的定义在每次循环时都会循环着定义+回收。
------解决方案--------------------
up