Parola chiave ref
È possibile usare la parola chiave ref
nei contesti seguenti:
- Nella firma di un metodo e in una chiamata a un metodo, per passare un argomento a un metodo per riferimento.
public void M(ref int refParameter)
{
refParameter += 42;
}
- Nella firma di un metodo, per restituire un valore al chiamante per riferimento. Per ulteriori informazioni, vedere
ref return
.
public ref int RefMax(ref int left, ref int right)
{
if (left > right)
{
return ref left;
}
else
{
return ref right;
}
}
- In una dichiarazione di una variabile locale, per dichiarare una variabile di riferimento.
public void M2(int variable)
{
ref int aliasOfvariable = ref variable;
}
- Come parte di un'espressione di riferimento condizionale o di un operatore di assegnazione di riferimento.
public ref int RefMaxConditions(ref int left, ref int right)
{
ref int returnValue = ref left > right ? ref left : ref right;
return ref returnValue;
}
- In una dichiarazione
struct
, per dichiarareref struct
. Per ulteriori informazioni, vedere l'articolo Tipi di strutturaref
.
public ref struct CustomRef
{
public ReadOnlySpan<int> Inputs;
public ReadOnlySpan<int> Outputs;
}
- In una definizione
ref struct
, per dichiarare un camporef
. Per altre informazioni, vedere la sezione Campiref
dell'articolo Tipi di struttureref
.
public ref struct RefFieldExample
{
private ref int number;
}
- In una dichiarazione di tipo generico per specificare che un parametro di tipo
allows ref struct
tipi.
class RefStructGeneric<T, S>
where T : allows ref struct
where S : T
{
// etc
}
Collabora con noi su GitHub
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.