mam aproblem z rzędu statycznej deklaracji zmiennej w C#statyczna zmienna kolejność
Gdy ten kod:
static class Program {
private static int v1 = 15;
private static int v2 = v1;
static void Main(string[] args) {
Console.WriteLine("v2 = "+v2);
}
}
Wyjście jest:
v2=15
Ale kiedy zmieni Kolejność deklaracji zmiennej statycznej:
static class Program {
private static int v2 = v1;
private static int v1 = 15;
static void Main(string[] args) {
Console.WriteLine("v2 = "+v2);
}
}
wyjście jest:
v2 = 0
Dlaczego to się stało?
To nie jest programowanie deklaratywne, jak w Prologu. W C# Polecenia mają zlecenie, które są uruchamiane. W tym przypadku jest to proste ... – ppeterka
Czy wiesz, że jeśli zdefiniujesz v1 jak: "private const int v1 = 15;" otrzymujesz 15 zamiast 0? –