<分区>
Possible Duplicate:
What is the static variable initialization order in C#?
为了好玩,我跑了 this code
我没想到 2 2 3
。我期待编译器错误(循环依赖)或 8 5 3
。
C# 中初始化顺序的规则是什么?
-编辑- i tried making a not static我得到了我所期望的。为什么 b 以前是 2 现在是 5。我不认为我会喜欢这些规则...幸运的是我从来没有做过这样的事情所以我没有遇到问题。
using System;
public class Test
{
public static void Main()
{
A.t();
}
}
class A
{
static int a = B.b + c;
public static int c = 3;
static public void t()
{
Console.WriteLine("{0} {1} {2}", a, B.b, c);
}
}
class B
{
public static int b = A.c+2;
}