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;
}
}
- En una declaración de una variable local, para declarar una variable de referencia.
public void M2(int variable)
{
ref int aliasOfvariable = ref variable;
}
- Como parte de una expresión ref condicional o un operador de asignación ref.
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 unref struct
. Para más información, consulte el artículo de tipos de estructuraref
.
public ref struct CustomRef
{
public ReadOnlySpan<int> Inputs;
public ReadOnlySpan<int> Outputs;
}
- En una definición
ref struct
, para declarar un camporef
. Para obtener más información, consulte la sección camposref
del artículo tipos de estructuraref
.
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
}
Colaborar con nosotros en GitHub
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.