A palavra-chave ref
Você usa a palavra-chave ref
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, consulte
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;
}
- Como parte de uma expressão de referência condicional ou um operador de atribuição de referência.
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 declaração
struct
para declarar umref struct
. Para obter mais informações, confira o artigoref
tipos de estrutura.
public ref struct CustomRef
{
public ReadOnlySpan<int> Inputs;
public ReadOnlySpan<int> Outputs;
}
- Em uma definição
ref struct
, para declarar um camporef
. Para saber mais, confira a seçãoref
campos do artigoref
tipos de estrutura.
public ref struct RefFieldExample
{
private ref int number;
}
- Em uma declaração de tipo genérico para especificar que um tipo de parâmetro permite tipos
allows ref struct
.
class RefStructGeneric<T, S>
where T : allows ref struct
where S : T
{
// etc
}
Colaborar conosco no GitHub
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.