C# 执行顺序易错题1
来源:互联网 发布:杭州认知网络投资人 编辑:程序博客网 时间:2024/06/01 09:55
class A{public static int X;static A(){X = B.Y + 1;}}class B{public static int Y = A.X + 1;static B(){}static void Main(){Console.WriteLine( “X={0},Y={1}”, A.X, B.Y );}}产生的输出结果是什么?
答:x=1,y=2
分析:
X,Y都是A和B类的静态Int类型成员。初始时没有赋值,默认是0。由于Main方法放在Class B里,所以会以Class B为程序入口。先初始化B的属性。即执行public static int Y = A.X + 1; 这一句。而A.X将执行A的构造函数,程序跳至X = B.Y + 1; 这一句。由于此时Y还没有被赋值,依然是0,所以X = 0+1=1;X被赋值后,程序返回public static int Y = A.X + 1; 继续执行,则Y=1+1=2。所以最后的结果是A.X=1,B.Y=2。
0 0
- C# 执行顺序易错题1
- C#执行顺序
- C#执行初始化顺序
- C#类执行顺序
- C# 等号两边执行顺序
- C# winform事件执行顺序
- c#赋值的执行顺序
- java, c#类执行顺序
- C#代码执行顺序探讨
- C# MasterPage母板页Page_Load执行顺序
- C#中Page事件执行顺序
- C#构造函数的执行顺序
- C#构造函数的执行顺序
- C# 实例化的执行顺序
- 多线程的顺序执行(1)
- 执行顺序
- 执行顺序
- JAVA 与C#构造函数执行顺序的不同之处.
- Consul的安装与试用
- Android UI布局与控件(二)
- Container View(sb-容器视图)
- 【Java学习笔记】如何写一个简单的Web Service
- 贝叶斯
- C# 执行顺序易错题1
- 全面介绍Android Studio中Git的使用
- 监听popwindow的关闭事件
- java.io流个人总结
- 批处理--改IP
- PowerPoint使用技巧
- 一段java并发编程代码
- Activity及其生命周期
- android ContentProvider applyBatch数据库事务