die folgende Klasse:Seltsames Verhalten auf statischen Mitgliedern einer Klasse - Wie ist das möglich? Betrachten
public class MyClass
{
public static string[] SomeAmazingConsts = { Const1 };
public static string Const1 = "Constant 1";
public static string Const2 = "Constant 2";
}
Nun Besuche die Nutzung:
class Program
{
static void Main(string[] args)
{
string[] s = MyClass.SomeAmazingConsts;
//s[0] == null
}
}
Das Problem ist, dass s [0] == null! Wie zum Teufel passiert das? Ordnen Sie nun die statische Variable von MyClass wie folgt neu an:
public class MyClass
{
public static string Const1 = "Constant 1";
public static string Const2 = "Constant 2";
public static string[] SomeAmazingConsts = { Const1 };
}
Dinge beginnen ordnungsgemäß zu funktionieren. Wer kann das beleuchten?
Sie sind ein NULL-Verweis auf das Array zuweisen, ist es nicht auf magische Weise mit Wieder zugewiesen bekommen können der modifizierte Wert – jedgard