Passaggio di parametri (Guida per programmatori C#)
In C# è possibile passare argomenti a parametri per valore o per riferimento.Il passaggio per riferimento consente ai membri delle funzioni, metodi, proprietà, indicizzatori, operatori e costruttori di modificare il valore dei parametri e rendere permanenti le modifiche nell'ambiente chiamante.Per passare un parametro per riferimento, è possibile utilizzare la parola chiave ref o out.Per semplicità, negli esempi riportati in questo argomento verrà utilizzata soltanto la parola chiave ref.Per ulteriori informazioni sulla differenza tra ref e out, vedere ref (Riferimenti per C#), out (Riferimenti per C#) e Passaggio di matrici mediante ref e out (Guida per programmatori C#).
Nell'esempio seguente viene illustrata la differenza fra parametri di valore e di riferimento.
class Program
{
static void Main(string[] args)
{
int arg;
// Passing by value.
// The value of arg in Main is not changed.
arg = 4;
squareVal(arg);
Console.WriteLine(arg);
// Output: 4
// Passing by reference.
// The value of arg in Main is changed.
arg = 4;
squareRef(ref arg);
Console.WriteLine(arg);
// Output: 16
}
static void squareVal(int valParameter)
{
valParameter *= valParameter;
}
// Passing by reference
static void squareRef(ref int refParameter)
{
refParameter *= refParameter;
}
}
Per ulteriori informazioni, vedere i seguenti argomenti:
Passaggio di parametri di tipi di valore (Guida per programmatori C#)
Passaggio di parametri di tipi di riferimento (Guida per programmatori C#)
Specifiche del linguaggio C#
Per ulteriori informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio è la fonte ufficiale per la sintassi e l'utilizzo di C#.
Vedere anche
Riferimenti
Metodi (Guida per programmatori C#)