Ключевое слово 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
}
GitHub сайтында бізбен бірлесіп жұмыс істеу
Бұл мазмұнның көзін GitHub сайтында табуға болады. Онда сонымен бірге мәселелер мен өзгертулерді енгізу сұрауларын жасауға және қарап шығуға болады. Қосымша ақпарат алу үшін қатысушы нұсқаулығын қараңыз.