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;
}
}
- 在局部变量的声明中,声明 reference 变量。
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;
}
public ref struct RefFieldExample
{
private ref int number;
}
- 在泛型类型声明中用于指定类型参数
allows ref struct
类型。
class RefStructGeneric<T, S>
where T : allows ref struct
where S : T
{
// etc
}