Compartir a través de


La palabra clave ref.

Use la palabra clave ref en los contextos siguientes:

  • En una firma del método y en una llamada al método, para pasar un argumento a un método mediante referencia.
public void M(ref int refParameter)
{
    refParameter += 42;
}
  • En una firma del método, para devolver un valor al autor de la llamada mediante referencia. Para obtener más información, vea 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;
}
  • En una declaración struct, para declarar un ref struct. Para más información, consulte el artículo de tipos de estructura ref.
public ref struct CustomRef
{
    public ReadOnlySpan<int> Inputs;
    public ReadOnlySpan<int> Outputs;
}
public ref struct RefFieldExample
{
    private ref int number;
}
  • En una declaración de tipo genérico para especificar que un parámetro de tipo allows ref struct escribe.
class RefStructGeneric<T, S>
    where T : allows ref struct
    where S : T
{
    // etc
}