Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Méthodes de Struct | Structures et Énumérateurs
C# Au-Delà des Bases

bookMé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

index.cs

copy
123456789
struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }

Par exemple :

index.cs

index.cs

copy
12345678910
struct 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

index.cs

copy
123456789101112131415161718192021222324252627282930
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 à 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

index.cs

copy
12345678910111213141516171819202122232425262728293031
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(); } }

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 ?

question mark

Quel est un mot-clé valide pour déclarer une méthode ?

Select the correct answer

question mark

Quelle sera la sortie du code suivant ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 2.04

bookMé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

index.cs

copy
123456789
struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }

Par exemple :

index.cs

index.cs

copy
12345678910
struct 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

index.cs

copy
123456789101112131415161718192021222324252627282930
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 à 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

index.cs

copy
12345678910111213141516171819202122232425262728293031
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(); } }

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 ?

question mark

Quel est un mot-clé valide pour déclarer une méthode ?

Select the correct answer

question mark

Quelle sera la sortie du code suivant ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5
some-alt