Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Metodi Struct | Struct e Enumeratori
C# Oltre le Basi

bookMetodi 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

index.cs

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

Ad esempio:

index.cs

index.cs

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

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

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

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

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?

question mark

Qual è una parola chiave valida per dichiarare un metodo?

Select the correct answer

question mark

Quale sarà l'output del seguente codice?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

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

bookMetodi 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

index.cs

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

Ad esempio:

index.cs

index.cs

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

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

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

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

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?

question mark

Qual è una parola chiave valida per dichiarare un metodo?

Select the correct answer

question mark

Quale sarà l'output del seguente codice?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5
some-alt