Es ist sehr unvorhersehbares Ergebnis des Codes für mich.Warum funktioniert der Auflistungsinitialisierer nur mit der Getter-only-Eigenschaft?
Ich habe nicht erwartet, dass dieser Code ein solches Ergebnis erzeugt.
Also lese ich Jeffrey Richters Buch (clr ia C#) und es gibt ein Beispiel mit diesem Code.
internal class ClassRoom
{
private List<String> _students = new List<string>();
public List<String> Students { get { return _students; } }
}
ClassRoom classRoom = new ClassRoom
{
Students = {"Mike", "Johny", "Vlad", "Stas"}
};
foreach (var some in classRoom.Students)
{
Console.WriteLine(some);
}
Und wie einige von Ihnen vorschlagen können wir in der Konsole vier Namen sehen. Also, meine Frage ist:
Wie bekommen wir unsere Namen, wenn sie in Studenten bzw. in _students bekommen, die nicht wegen Nichtexistenz von Studenten Setter zugewiesen wurden.
__________EDIT_1_______________
Ich lese Ihre Antworten, und ich danke Ihnen für diese.
Aber weißt du, es ist ein bisschen Missverständnis ... Ich kann es wirklich nicht herausfinden.
Als ich initialisieren Students, ich initialisieren _students?
Und was nicht weniger wichtig ist, als ich von der IEnumerable Variable nehmen (einige), Ich bin nehmen Variable von Studenten? Ich denke nicht.
Ich kann nicht verstehen, wo genau ich Variablen zuweisen (INITALISIEREN) _students Sammlungen?
Vielen Dank für Hilfe, um es herauszufinden!
Durch Hinzufügen von Dingen zu der Liste. – SLaks
Yeap. Und wenn wir "einige" Variable nehmen, nehmen wir Variable von _students, nicht wahr? –