次の方法で共有


ref キーワード

ref キーワードは、次のコンテキストで使用できます。

  • メソッド シグネチャとメソッドの呼び出しで、参照によってメソッドに引数を渡す。
public void M(ref int refParameter)
{
    refParameter += 42;
}
  • メソッド シグネチャで、参照渡しで呼び出し元に値を返します。 詳細については、ref returnを参照してください。
public ref int RefMax(ref int left, ref int right)
{
    if (left > right)
    {
        return ref left;
    }
    else
    {
        return ref right;
    }
}
  • ローカル変数の宣言で、参照変数を宣言します。
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;
}
  • struct 宣言で、ref struct を宣言する目的で。 詳細については、ref構造体の種類の記事を参照してください。
public ref struct CustomRef
{
    public ReadOnlySpan<int> Inputs;
    public ReadOnlySpan<int> Outputs;
}
  • ref struct 定義で、ref フィールドを宣言します。 詳細については、「ref構造体型」の記事の「refフィールド」セクションを参照してください。
public ref struct RefFieldExample
{
    private ref int number;
}
  • ジェネリック型宣言の中で、型パラメーターが型を allows ref struct することを指定する。
class RefStructGeneric<T, S>
    where T : allows ref struct
    where S : T
{
    // etc
}