The ref
keyword
You use the ref
keyword in the following contexts:
- In a method signature and in a method call, to pass an argument to a method by reference.
public void M(ref int refParameter)
{
refParameter += 42;
}
- In a method signature, to return a value to the caller by reference. For more information, see
ref return
.
public ref int RefMax(ref int left, ref int right)
{
if (left > right)
{
return ref left;
}
else
{
return ref right;
}
}
- In a declaration of a local variable, to declare a reference variable.
public void M2(int variable)
{
ref int aliasOfvariable = ref variable;
}
- As the part of a conditional ref expression or a ref assignment operator.
public ref int RefMaxConditions(ref int left, ref int right)
{
ref int returnValue = ref left > right ? ref left : ref right;
return ref returnValue;
}
- In a
struct
declaration, to declare aref struct
. For more information, see theref
structure types article.
public ref struct CustomRef
{
public ReadOnlySpan<int> Inputs;
public ReadOnlySpan<int> Outputs;
}
- In a
ref struct
definition, to declare aref
field. For more information, see theref
fields section of theref
structure types article.
public ref struct RefFieldExample
{
private ref int number;
}
- In a generic type declaration to specify that a type parameter
allows ref struct
types.
class RefStructGeneric<T, S>
where T : allows ref struct
where S : T
{
// etc
}
Συνεργαστείτε μαζί μας στο GitHub
Μπορείτε να βρείτε την πηγή για αυτό το περιεχόμενο στο GitHub, όπου μπορείτε επίσης να δημιουργήσετε και να εξετάσετε ζητήματα και αιτήματα έλξης. Για περισσότερες πληροφορίες, ανατρέξτε στον οδηγό συνεργατών.