Klassenobjekte
Ein Objekt einer Klasse kann mit folgendem Syntax erstellt werden:
index.cs
1className variableName = new className();
Wir können auf das Feld einer Klasse mit dem Punkt (.
) Operator zugreifen:
index.cs
1variableName.fieldName
Zum Beispiel:
index.cs
12345678910111213141516using 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.cs
12345678910111213141516using 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.cs
12345678910111213141516using 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!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 2.04
Klassenobjekte
Swipe um das Menü anzuzeigen
Ein Objekt einer Klasse kann mit folgendem Syntax erstellt werden:
index.cs
1className variableName = new className();
Wir können auf das Feld einer Klasse mit dem Punkt (.
) Operator zugreifen:
index.cs
1variableName.fieldName
Zum Beispiel:
index.cs
12345678910111213141516using 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.cs
12345678910111213141516using 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.cs
12345678910111213141516using 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!