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
Fantastico!
Completion tasso migliorato a 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!