private static string Test = a ? "test" : "hello";
private static bool a = Test == "test";
Они, кажется, зависит от друг друга, но во время компиляции становится = ложь»Test =„привет“, независимо от того, я думаю, что это что-то делать с булевы быть установленным на false, но если кто-то может объяснить, как это компилируется, это было бы хорошо.Странная статическая инициализация компилирует в C#
Заказ только не имеет значения, потому что вы получите тот же результат в обоих случаях. Если вы сначала установите 'a',' Test' будет 'null', если вы сначала установите' Test', 'a' будет' false'. –
Возможно, ссылка поможет https://msdn.microsoft.com/en-us/library/aa645758(v=vs.71).aspx – Steve