不过为了提高效率,一般把变量放到循环外声明:string s = "a"; for (int i = 0; i <5; i ++) 
        { 
            
            Response.Write(" <br>" + s); 
        } 

解决方案 »

  1.   

     for (int i = 0; i <5; i ++) 
            { 
                string s = "a";             Response.Write(" <br>" + s); 
            }  s从string s = "a";分号后创建,在 }号后释放。局部变量有效的 仅仅是自己所在的代码快({和}之间)。
      

  2.   

    第一次循环语句全部执行完变量s会释放掉,但释放时间不确定,具体请看GC内存管理
      

  3.   

    局部变量的生命周期就在内个花括弧里面。
    出了花括弧就GameOver了。
      

  4.   

    UP!
    string s = "a";  它所占用的、在栈内的、指向堆存储空间的引用会被释放,但是堆存储空间的内存不一定被释放,这个归GC管着。