Menu
Coddy logo textTech

Dichiarare i metodi

Fa parte della sezione Fondamenti del percorso C# di Coddy. Lezione 49 di 69.

Un metodo è una sequenza di codice che ha un nome. Lo scopo di un metodo è riutilizzare una porzione di codice più volte.

Per esempio, dai un’occhiata a questo codice:

Console.WriteLine("Welcome to Coddy");
Console.WriteLine("New session...");
Console.WriteLine("Welcome to Coddy");
Console.WriteLine("Another session...");
Console.WriteLine("Welcome to Coddy");

Usiamo ripetutamente lo stesso codice Console.WriteLine("Welcome to Coddy"). Un altro problema con questo codice è che, se volessimo cambiare il messaggio: Welcome to Coddy con qualcosa di diverso, come Welcome aboard, dovremmo modificare 3 righe di codice diverse. Per risolvere questo problema, useremo i metodi.

Per dichiarare un metodo, usiamo la seguente sintassi:

access_modifier [modifiers] return_type method_name(parameters) {
	// codice
}

Per il nostro esempio, creeremo un metodo chiamato Greet e sarà simile a questo:

public static void Greet() {
	Console.WriteLine("Welcome to Coddy");
}

Se lo scomponiamo:

  • public è il modificatore di accesso (controlla chi può usare questo metodo)
  • static è un modificatore (significa che il metodo appartiene alla classe stessa)
  • void è il tipo restituito (significa che non restituisce alcun valore)
  • Greet è il nome del metodo
  • () contiene i parametri (qui vuoti)

Per ora, scrivi sempre public static prima del nome del metodo: spiegheremo più avanti il significato di ciascuna parola.

Per usare/chiamare/eseguire il metodo, scriviamo Greet();:

Greet();
Console.WriteLine("New session...");
Greet();
Console.WriteLine("Another session...");
Greet();

Questo produrrà lo stesso output di sopra.

Nota: In C#, l’ordine delle dichiarazioni dei metodi all’interno di una classe non è importante. Il compilatore legge prima l’intera classe, quindi un metodo può essere chiamato prima o dopo la sua definizione nel codice sorgente: entrambe le opzioni sono valide.

Per esempio, entrambi questi sono corretti in C#:

// Method defined FIRST, then called
public static void Greet() {
    Console.WriteLine("Welcome to Coddy");
}

Greet();
Console.WriteLine("New session...");
Greet();
// Metodo chiamato PRIMA e definito dopo — valido anche in C#
Greet();
Console.WriteLine("New session...");
Greet();

public static void Greet() {
    Console.WriteLine("Welcome to Coddy");
}
challenge icon

Sfida

Facile

Scrivi un programma che riceve un input, un numero. Il numero di input indica quante volte eseguire il metodo seguente. 

Crea un metodo che calcola la somma di tutti i numeri compresi tra 1 e 1000 (inclusi) e la stampa; dai al metodo il nome che preferisci.

Provalo tu

using System;

public class Program {
    // Dichiarazione del metodo
    public static void SumNumbers() {
        // Completa il metodo
        
    }
    
    
    public static void Main(string[] args) {
        int n = int.Parse(Console.ReadLine());
        for (int i = 0; i < n; i++) {
            // Chiama il metodo n volte
        }
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore C# online