A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© me黄小峰 黑马帝   /  2012-3-7 10:42  /  2039 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 me黄小峰 于 2012-3-29 19:50 编辑

为什么可以在方法内先对变量初始化,再方法外面的下边定义变量;
它们值行的顺序是什么样的。为什么那样写还没有错呢,
我记的杨中科老师说语句是从上到下执行的啊!!!

7 个回复

倒序浏览
在一个名称空间里吧,我记得VB的函数,如果定义在后面,想在定义前调用,必须先在前面声明。
回复 使用道具 举报
从上往下执行的前提条件是在同一区域内。程序是先把类中的代码从上往下执行完毕后在去执行类中方法的代码。一样也是从上往下。跟方法写在类中什么地方没有关系。
回复 使用道具 举报
本帖最后由 原世功 于 2012-3-7 12:26 编辑

可以看下这个小例子,c#运行方式确实是自上而下,但是如果碰到调用了方法,就会先去跳转到该方法,然后再接着执行下去!
main方法中
{
SayHello();
console.writeline("我后执行")
}
static void SayHello()
{
console.writeline("我先执行");
}
回复 使用道具 举报
注意这里所说的执行不是你所认为的一条语句一语句的依次执行,我以前刚学C  的时候也很纠结这个问题。
回复 使用道具 举报
在定义类时,类中的代码不在是顺序执行的,再像main方法中那样写console.writeline()之类的代码是无法执行的,在类中可以对字段进行赋初值,赋值时一行写完要赋的内容
回复 使用道具 举报
程序是由主方法处由上至下依次执行直至主方法结束,该程序也就结束了。
当在主方法(其它方法也一样)A里调用了另外的方法B,就会暂中断对A方法的执行,执行B方法。当B方法执行结束后,再由A方法从中断处继续执行。
以上是个人的理解。
回复 使用道具 举报
可以用调试的方式看看程序是怎样执行的,

程序是从上向下执行的,当遇到在前面执行了的代码中没有定义的变量,枚举等编译器会自动找到他定义的地方,执行,再返回来从新行下执行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马