Freunde, Ich möchte wissen, warum folgender Code für List<int>
und nicht für List<string>
funktioniert. Wenn ich die Liste im Getter der Eigenschaft initialisiere, funktioniert es nicht. Wenn ich im Konstruktor initialisiere, funktioniert es und auch wenn ich eine Liste in der aufrufenden Klasse erstelle, funktioniert es.Kann Element nicht zu einer Liste hinzufügen, die in einer anderen Klasse initialisiert wurde
public class MyClass
{
private List<int> _ints;
private static List<string> _strings;
public MyClass()
{
_ints = new List<int>();
}
public List<int> Ints
{
get
{
return _ints;
}
set
{
_ints = value;
}
}
public List<string> Strings
{
get
{
return _strings ?? new List<string>();
}
}
}
class Program
{
static void Main(string[] args)
{
MyClass mc = new MyClass();
// This works
// mc.Ints = new List<int>();
// This works
mc.Ints.Add(1);
// This does not
mc.Strings.Add("Krishna");
}
}
Sie nie zu einem instantiierten '' Liste _strings' zuordnen ' –
Jonesopolis
Sie sind nicht Zugang In einer initialisierten Liste von Strings sehen Sie sich den Unterschied an, wie Sie mit "Ints" interagiert haben und wie Sie mit "Strings" interagiert haben ... –
Eine zusätzliche Frage? Warum sind '_strings'' statisch'? –