Le mot clé ref
Vous utilisez le mot clé ref
dans les contextes suivants :
- Dans une signature de méthode et dans un appel de méthode, pour passer un argument à une méthode par référence.
public void M(ref int refParameter)
{
refParameter += 42;
}
- Dans une signature de méthode, pour retourner une valeur à l’appelant par référence. Pour plus d’informations, consultez
ref return
.
public ref int RefMax(ref int left, ref int right)
{
if (left > right)
{
return ref left;
}
else
{
return ref right;
}
}
- Dans une déclaration d’une variable locale, pour déclarer une variable de référence.
public void M2(int variable)
{
ref int aliasOfvariable = ref variable;
}
- En tant que partie d’une expression ref conditionnelle ou d’un opérateur d’assignation par référence.
public ref int RefMaxConditions(ref int left, ref int right)
{
ref int returnValue = ref left > right ? ref left : ref right;
return ref returnValue;
}
- Dans une déclaration de
struct
, pour déclarer unref struct
. Pour plus d’informations, consultez l’article Types de structuresref
.
public ref struct CustomRef
{
public ReadOnlySpan<int> Inputs;
public ReadOnlySpan<int> Outputs;
}
- Dans une définition
ref struct
, pour déclarer un champref
. Pour plus d’informations, consultez la section Champsref
de l’article Types de structuresref
.
public ref struct RefFieldExample
{
private ref int number;
}
- Dans un type générique pour spécifier qu’un paramètre de type autorise les types ref struct (
allows ref struct
).
class RefStructGeneric<T, S>
where T : allows ref struct
where S : T
{
// etc
}
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.