Freigeben über


dem ref-Schlüsselwort

Das ref-Schlüsselwort wird in den folgenden Kontexten verwendet:

  • In einer Methodensignatur und in einem Methodenaufruf, um ein Argument an eine Methode als Verweis zu übergeben.
public void M(ref int refParameter)
{
    refParameter += 42;
}
  • In einer Methodensignatur, um einen Wert an den Aufrufer als Verweis zurückzugeben. Weitere Informationen finden Sie unter ref return.
public ref int RefMax(ref int left, ref int right)
{
    if (left > right)
    {
        return ref left;
    }
    else
    {
        return ref right;
    }
}
  • In einer Deklaration einer lokalen Variablen, um eine Verweisvariable zu deklarieren.
public void M2(int variable)
{
    ref int aliasOfvariable = ref variable;
}
public ref int RefMaxConditions(ref int left, ref int right)
{
    ref int returnValue = ref left > right ? ref left : ref right;
    return ref returnValue;
}
  • In einer struct-Deklaration, um eine ref struct zu deklarieren. Weitere Informationen finden Sie im Artikel zu ref-Strukturtypen.
public ref struct CustomRef
{
    public ReadOnlySpan<int> Inputs;
    public ReadOnlySpan<int> Outputs;
}
  • In einer ref struct-Definition zum Deklarieren eines ref-Felds. Weitere Informationen finden Sie im Abschnitt ref-Felder des Artikels zu ref-Strukturtypen.
public ref struct RefFieldExample
{
    private ref int number;
}
  • In einer generischen Typdeklaration, um anzugeben, dass ein Typparameter ref-struct-Typen (allows ref struct) zulässt.
class RefStructGeneric<T, S>
    where T : allows ref struct
    where S : T
{
    // etc
}