Funzioni e Valori di Ritorno in C#

Le funzioni in C# sono simili a tutti gli altri linguaggi di programmazione, la sintassi è questa:

[tipo] [valore ritorno] nome([argomento1,argomento2,…])
{
corpo della funzione
}

  • tipo. Il titpo della funzione e la visibilità, deve avere il valore static per funzioni richiamate da funzioni statiche come la main.
  • valore ritorno. Una variabile che rappresenta il frutto della funzione, ad esempio un numero per il calcolo della media.
  • nome. Il nome della funzione.
  • argomento. L’argomento o gli argomenti separati da virgole della funzione, sono i valori che abbisognano alla funzione per fare i calcoli.

Come sempre vediamo il tutto con un esempio facile facile:

using System;
public class Corso
{
    static void ContoRovescia(int max)
    {
       for (int i = max; i > 0; --i);
       Console.WriteLine("Ora sono al numero: " + i);
    }

    static void Main(string[] args)
    {
        ContoRovescia(5);

        Console.ReadKey();
     }
}

La funzione dell’esempio si chiama ContoRovescia, perchè si prende in pasto un numero e stampa il conteggio alla rovesia, in questo caso non ritorna nessun valore e per questo si deve inserire un tipo nullo, il void. Da notare inoltre il tipo di funzione static, definita così perchè altrimenti all’interno di una funzione statica ( main ) non sarebbe stata visibile; in pratica una funzione statica significa che viene istanziata in memoria per tutto lo svolgimento del programma, a differenza delle funzioni semplici che vengono inserite in memoria quando vengono richiamate. Vediamo ora un esempio un pò più complicato per calcolare la media dei valori contenuti in un  array:

using System;
public class Corso
{
   static float Media(int[] valori)
   {
      float count = 0;
      float somma = 0;

      foreach (int k in valori)
      {
          ++count;
          somma += k;
      }

      return somma / count;
   }

   static void Main(string[] args)
   {
      int[] valori = {12, 56, 34, 23, 98, 45,
	    43, 76, 45, 12, 98, 45, 43};

      foreach (int val in valori)
      Console.WriteLine("Numero " + val);
      Console.WriteLine("\nLa media dei seguenti valori:
	      " + Media(valori));

      Console.ReadKey();
   }
}

In questo esempio abbiamo creato una funzione statica che calcola la media dei valori di un array di interi, il valore di ritorno non è intero perchè la media di numeri interi è in virgola mobile il più delle volte. Ho scritto questo esempio perchè volevo mostrarvi come passare un array di valori ad una funzione.
Vorrei che guardaste il procedimento del ragionamento in questi esempi in quanto tratteremo sempre più argomenti complicati ed esempi sempre più complessi, quindi vi invito a fare esercizi, come per esempio la creazione di una funzione per restituire valori pari e dispari; nel prossimo articolo vi mostrerò poi come io la farei, ma probabilmente voi la svolgerete in modo differente.

<< Lezione PrecedenteInizio CorsoIndice LezioniLezione Successiva >>

Pubblicato
Categorie: C# (sharp)

Di Giampaolo Rossi

Sviluppatore software da oltre 16 anni.