Kursinhalt
C# Über die Grundlagen Hinaus
C# Über die Grundlagen Hinaus
Klassenobjekte
Ein Objekt einer Klasse kann mit folgendem Syntax erstellt werden:
index
className variableName = new className();
Wir können auf das Feld einer Klasse mit dem Punkt (.
) Operator zugreifen:
index
variableName.fieldName
Zum Beispiel:
index
using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player p1= new Player(); p1.username = "Don"; Console.WriteLine(p1.username); } }
Der Ausdruck new Player();
wird verwendet, um ein neues Objekt zu erstellen, während Player p1
verwendet wird, um eine Variable zu erstellen, die dieses neue Objekt speichert. Wenn Sie einfach Player p1;
schreiben, wird nur eine leere Variable ohne Objekt darin erstellt. Daher müssen wir ein neues Objekt erstellen und es wiederum in einer Variablen speichern: Player p1 = new Player();
.
Wenn wir also ein Array der Größe 10
mit der Player
-Klasse erstellen, werden nicht 10 Objekte erstellt, sondern ein leeres Array mit einer Kapazität, um 10 Player-Objekte zu speichern. Dies kann durch das folgende Beispiel verstanden werden:
index
using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0].username = "Don"; // Error on this line Console.WriteLine(players[0].username); } }
Der Fehler besagt "Object reference not set to an instance of an object", was einfach bedeutet, dass wir versuchen, auf Daten eines Objekts zuzugreifen, das nicht vorhanden ist - es gibt kein Objekt, auf das am Index 0
zugegriffen werden kann.
Dies kann behoben werden, indem man manuell ein Objekt am Index 0
erstellt:
index
using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0] = new Player(); players[0].username = "Don"; Console.WriteLine(players[0].username); } }
Danke für Ihr Feedback!