Partilhar via


A palavra-chave ref

Você usa a ref palavra-chave nos seguintes contextos:

  • Em uma assinatura de método e em uma chamada de método, para passar um argumento para um método por referência.
public void M(ref int refParameter)
{
    refParameter += 42;
}
  • Em uma assinatura de método, para retornar um valor para o chamador por referência. Para obter mais informações, veja ref return.
public ref int RefMax(ref int left, ref int right)
{
    if (left > right)
    {
        return ref left;
    }
    else
    {
        return ref right;
    }
}
  • Em uma declaração de uma variável local, para declarar uma variável de referência.
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;
}
  • Em uma struct declaração, para declarar um ref structarquivo . Para obter mais informações, consulte o artigo Tipos de ref estrutura.
public ref struct CustomRef
{
    public ReadOnlySpan<int> Inputs;
    public ReadOnlySpan<int> Outputs;
}
public ref struct RefFieldExample
{
    private ref int number;
}
  • Em uma declaração de tipo genérica para especificar que um parâmetro allows ref struct de tipo digita.
class RefStructGeneric<T, S>
    where T : allows ref struct
    where S : T
{
    // etc
}