Méthodes de Struct
Une structure peut également comporter des méthodes en plus des champs de données. Dans une structure, la création d'une méthode s'effectue de la même manière que pour une méthode classique :
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Par exemple :
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
Dans la structure Player, il existe une méthode appelée displayScore qui affiche un message formaté contenant le name et le score. Il est important de noter que les valeurs de name et score seront différentes pour chaque objet (instance), ce qui signifie que la méthode displayScore affichera un résultat différent pour chaque objet.
L'accès et l'exécution de la méthode se font via la syntaxe variableName.methodName(). Voici comment utiliser la structure Player :
index.cs
123456789101112131415161718192021222324252627282930using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); Player player2 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player2.name = "Cyrex"; player2.score = 77; player1.displayScore(); player2.displayScore(); } }
Dans l'exemple, deux objets ont été créés à l'aide de la classe Player et certaines données leur ont été attribuées. La méthode displayScore a été appelée pour chaque objet et le résultat s'est avéré différent pour chacun d'eux.
Il est également possible d'avoir des méthodes avec des paramètres. Ajoutons une nouvelle méthode appelée addScore qui augmente le score d'un montant spécifié et essayons de l'utiliser :
index.cs
12345678910111213141516171819202122232425262728293031using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } public void addScore(int add) { score += add; } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player1.displayScore(); player1.addScore(70); player1.displayScore(); } }
On peut constater à la sortie que la méthode met à jour le score de 70 points.
1. Quel est un mot-clé valide pour déclarer une méthode ?
2. Quelle sera la sortie du code suivant ?
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
Can you show me the code for the Player structure and its methods?
How does the addScore method work in detail?
Can you explain how methods with parameters are defined in a struct?
Awesome!
Completion rate improved to 2.04
Méthodes de Struct
Glissez pour afficher le menu
Une structure peut également comporter des méthodes en plus des champs de données. Dans une structure, la création d'une méthode s'effectue de la même manière que pour une méthode classique :
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Par exemple :
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
Dans la structure Player, il existe une méthode appelée displayScore qui affiche un message formaté contenant le name et le score. Il est important de noter que les valeurs de name et score seront différentes pour chaque objet (instance), ce qui signifie que la méthode displayScore affichera un résultat différent pour chaque objet.
L'accès et l'exécution de la méthode se font via la syntaxe variableName.methodName(). Voici comment utiliser la structure Player :
index.cs
123456789101112131415161718192021222324252627282930using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); Player player2 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player2.name = "Cyrex"; player2.score = 77; player1.displayScore(); player2.displayScore(); } }
Dans l'exemple, deux objets ont été créés à l'aide de la classe Player et certaines données leur ont été attribuées. La méthode displayScore a été appelée pour chaque objet et le résultat s'est avéré différent pour chacun d'eux.
Il est également possible d'avoir des méthodes avec des paramètres. Ajoutons une nouvelle méthode appelée addScore qui augmente le score d'un montant spécifié et essayons de l'utiliser :
index.cs
12345678910111213141516171819202122232425262728293031using System; struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } public void addScore(int add) { score += add; } } class ConsoleApp { static void Main(string[] args) { Player player1 = new Player(); player1.name = "SuperKillerPro"; player1.score = 100; player1.displayScore(); player1.addScore(70); player1.displayScore(); } }
On peut constater à la sortie que la méthode met à jour le score de 70 points.
1. Quel est un mot-clé valide pour déclarer une méthode ?
2. Quelle sera la sortie du code suivant ?
Merci pour vos commentaires !