Contenu du cours
C# au-delà des Bases
C# au-delà des Bases
Méthodes de Structure
Une structure peut également avoir des méthodes en plus des champs de données. Dans une structure, nous créons une méthode de manière similaire à la création d'une méthode en général :
index
struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Par exemple :
index
struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
Dans la structure Player
, nous avons une méthode appelée displayScore
qui affiche un message de sortie 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 une sortie différente pour chaque objet.
Nous pouvons accéder et exécuter la méthode en utilisant la syntaxe variableName.methodName()
. Voyons comment nous allons utiliser la structure Player
:
index
using 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 en utilisant la classe Player
et certaines données leur ont été attribuées. La méthode displayScore
a été appelée en utilisant chaque objet et le résultat s'est avéré différent pour chacun d'eux.
Nous pouvons également avoir des méthodes avec certains 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
using 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(); } }
Vous pouvez voir à partir du résultat 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 !