Metodi Struct
Una struttura può anche avere metodi oltre ai campi dati. In una struct, si crea un metodo in modo simile a come si crea un metodo in generale:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Ad esempio:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
Nella struttura Player è presente un metodo chiamato displayScore che visualizza un messaggio di output formattato contenente name e score. È importante notare che i valori di name e score saranno diversi per ogni oggetto (istanza), il che significa che il metodo displayScore mostrerà un output diverso per ciascun oggetto.
È possibile accedere ed eseguire il metodo utilizzando la sintassi variableName.methodName(). Vediamo come utilizzare la struttura 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(); } }
Nell'esempio, sono stati creati due oggetti utilizzando la classe Player e sono stati assegnati loro alcuni dati. Il metodo displayScore è stato chiamato utilizzando ciascun oggetto e l'output è risultato diverso per ognuno di essi.
È anche possibile avere metodi con alcuni parametri. Aggiungiamo un nuovo metodo chiamato addScore che aumenta il punteggio di una quantità specificata e proviamo a utilizzarlo:
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(); } }
Dall'output si può vedere che il metodo aggiorna il punteggio di 70 punti.
1. Qual è una parola chiave valida per dichiarare un metodo?
2. Quale sarà l'output del seguente codice?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 2.04
Metodi Struct
Scorri per mostrare il menu
Una struttura può anche avere metodi oltre ai campi dati. In una struct, si crea un metodo in modo simile a come si crea un metodo in generale:
index.cs
123456789struct structureName { // some fields here (optional) public returnType methodName(parameter1, parameter2, ...) { // code } }
Ad esempio:
index.cs
12345678910struct Player { public string name; public int score; public void displayScore() { Console.WriteLine($"{name} has {score} score"); } }
Nella struttura Player è presente un metodo chiamato displayScore che visualizza un messaggio di output formattato contenente name e score. È importante notare che i valori di name e score saranno diversi per ogni oggetto (istanza), il che significa che il metodo displayScore mostrerà un output diverso per ciascun oggetto.
È possibile accedere ed eseguire il metodo utilizzando la sintassi variableName.methodName(). Vediamo come utilizzare la struttura 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(); } }
Nell'esempio, sono stati creati due oggetti utilizzando la classe Player e sono stati assegnati loro alcuni dati. Il metodo displayScore è stato chiamato utilizzando ciascun oggetto e l'output è risultato diverso per ognuno di essi.
È anche possibile avere metodi con alcuni parametri. Aggiungiamo un nuovo metodo chiamato addScore che aumenta il punteggio di una quantità specificata e proviamo a utilizzarlo:
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(); } }
Dall'output si può vedere che il metodo aggiorna il punteggio di 70 punti.
1. Qual è una parola chiave valida per dichiarare un metodo?
2. Quale sarà l'output del seguente codice?
Grazie per i tuoi commenti!