Objets de Classe
Un objet d'une classe peut être créé en utilisant la syntaxe suivante :
index.cs
1className variableName = new className();
Vous pouvez accéder au champ d'une classe en utilisant l'opérateur point (.) :
index.cs
1variableName.fieldName
Par exemple :
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); } }
L'expression new Player(); est utilisée pour créer un nouvel objet tandis que Player p1 sert à créer une variable destinée à stocker ce nouvel objet. Ainsi, écrire simplement Player p1; ne crée qu'une variable vide sans objet à l'intérieur ; il est donc nécessaire de créer un nouvel objet et, par conséquent, de le stocker dans une variable : Player p1 = new Player();.
Par conséquent, si un tableau de taille 10 est créé à l'aide de la classe Player, cela ne crée pas 10 objets, mais un tableau vide ayant la capacité de stocker 10 objets Player. Ceci peut être illustré par l'exemple suivant :
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); } }
L'erreur indique "Object reference not set to an instance of an object", ce qui signifie simplement qu'une tentative d'accès à des données d'un objet inexistant a eu lieu – il n'y a pas d'objet à l'index 0.
Ce problème peut être résolu en créant manuellement un objet à l'index 0 :
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); } }
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Génial!
Completion taux amélioré à 2.04
Objets de Classe
Glissez pour afficher le menu
Un objet d'une classe peut être créé en utilisant la syntaxe suivante :
index.cs
1className variableName = new className();
Vous pouvez accéder au champ d'une classe en utilisant l'opérateur point (.) :
index.cs
1variableName.fieldName
Par exemple :
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); } }
L'expression new Player(); est utilisée pour créer un nouvel objet tandis que Player p1 sert à créer une variable destinée à stocker ce nouvel objet. Ainsi, écrire simplement Player p1; ne crée qu'une variable vide sans objet à l'intérieur ; il est donc nécessaire de créer un nouvel objet et, par conséquent, de le stocker dans une variable : Player p1 = new Player();.
Par conséquent, si un tableau de taille 10 est créé à l'aide de la classe Player, cela ne crée pas 10 objets, mais un tableau vide ayant la capacité de stocker 10 objets Player. Ceci peut être illustré par l'exemple suivant :
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); } }
L'erreur indique "Object reference not set to an instance of an object", ce qui signifie simplement qu'une tentative d'accès à des données d'un objet inexistant a eu lieu – il n'y a pas d'objet à l'index 0.
Ce problème peut être résolu en créant manuellement un objet à l'index 0 :
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); } }
Merci pour vos commentaires !