Kata kunci ref
Anda menggunakan ref
kata kunci dalam konteks berikut:
- Dalam tanda tangan metode dan dalam panggilan metode, untuk meneruskan argumen ke metode berdasarkan referensi.
public void M(ref int refParameter)
{
refParameter += 42;
}
- Pada tanda tangan metode, untuk mengembalikan nilai ke pemanggil dengan referensi. Untuk informasi selengkapnya, lihat
ref return
.
public ref int RefMax(ref int left, ref int right)
{
if (left > right)
{
return ref left;
}
else
{
return ref right;
}
}
- Dalam deklarasi variabel lokal, untuk mendeklarasikan variabel referensi.
public void M2(int variable)
{
ref int aliasOfvariable = ref variable;
}
- Sebagai bagian dari ekspresi ref bersyar atau operator penugasan ref.
public ref int RefMaxConditions(ref int left, ref int right)
{
ref int returnValue = ref left > right ? ref left : ref right;
return ref returnValue;
}
- Dalam deklarasi
struct
, untuk mendeklarasikanref struct
. Untuk informasi selengkapnya, lihatref
artikel jenis struktur.
public ref struct CustomRef
{
public ReadOnlySpan<int> Inputs;
public ReadOnlySpan<int> Outputs;
}
ref struct
Dalam definisi, untuk mendeklarasikanref
bidang. Untuk informasi selengkapnya, lihatref
bagian bidang dariref
artikel jenis struktur.
public ref struct RefFieldExample
{
private ref int number;
}
- Dalam deklarasi jenis generik untuk menentukan bahwa jenis parameter
allows ref struct
jenis.
class RefStructGeneric<T, S>
where T : allows ref struct
where S : T
{
// etc
}
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.