none
c#程序结构请教,哪位解答下呢 RRS feed

  • 问题

  • 平日里写出程序来就完事,没去深究,今天突然想来问问。比如,循环,提取gridview中的记录赋值给变量。我把变量放在循环体内申明和放在体外申明有何差异?还是一样。

    string a;

    string b

    for(i)

    {

    a=gridview.row[i][1];

    b=gridview.row[i][2];;

    }

    第二种

    for(i)

    {

    string a=gridview.row[i][1];;

    string b=gridview.row[i][2];

    }

    有差异吗,我觉得应该没什么差别的,哪位解释下?

    2011年8月16日 9:36

答案

  • 在循环内和循环外定义变量,

    1.作用域不一样,在代码块内侧定义的变量,作用域范围在代码块,

      超出作用域{}后,该变量销毁,再次进入{}后,重声明一个变量


    http://blog.csdn.net/zx13525079024
    2011年8月16日 9:56
  • dear

    在循环内的变量生命周其比在循环外的短,这用所有的地方
    只要把握一点,大括号内外变量的生命周其不一样

    比如说在方法区块内的变量其生命周其就是方法执行完毕就结束生命


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年8月16日 12:17

全部回复

  • 在循环内和循环外定义变量,

    1.作用域不一样,在代码块内侧定义的变量,作用域范围在代码块,

      超出作用域{}后,该变量销毁,再次进入{}后,重声明一个变量


    http://blog.csdn.net/zx13525079024
    2011年8月16日 9:56
  • dear

    在循环内的变量生命周其比在循环外的短,这用所有的地方
    只要把握一点,大括号内外变量的生命周其不一样

    比如说在方法区块内的变量其生命周其就是方法执行完毕就结束生命


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年8月16日 12:17
  • 谢2位,他们在内存的分配上是一样的吗,性能上有差异吗
    • 已编辑 fangyanqin 2011年8月17日 8:50 补充
    2011年8月17日 8:49
  • dear

    变量的生命周其当然越短越好,性能是不会有感觉的,但在除错时会比较容易


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年8月18日 2:17