诡异的C#程序

c0s1d0n 2010-10-05 01:28:11
1.using System;
2.
3.namespace StaticTest
4.{
5. class A
6. {
7. public static int X;
8. static A()
9. {
10. X = B.Y + 1;
11. }
12. }
13. class B
14. {
15. public static int Y = A.X + 1;
16. static B()
17. {
18. }
19. static void Main()
20. {
21. Console.WriteLine("X={0}, Y={1}", A.X, B.Y);
22. }
23. }
24.}


结果怎么是X=1,Y=2呢?
...全文
105 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
c0s1d0n 2010-10-08
  • 打赏
  • 举报
回复
菜鸟这里谢各位了
兔子-顾问 2010-10-05
  • 打赏
  • 举报
回复
原因没啥好说的了,你自己按F11一步一步走就明白了。
wuyq11 2010-10-05
  • 打赏
  • 举报
回复
进入static B
执行y = A.x + 1;
进入static A
执行x = B.y + 1
这时是0,所以结果为A.x=1
完成static A,返回第二步继续执行

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧