Bagikan melalui


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 mendeklarasikan ref struct. Untuk informasi selengkapnya, lihat ref artikel jenis struktur.
    public ref struct CustomRef
    {
        public ReadOnlySpan<int> Inputs;
        public ReadOnlySpan<int> Outputs;
    }
    
  • ref struct Dalam definisi, untuk mendeklarasikan ref bidang. Untuk informasi selengkapnya, lihat ref bagian bidang dari ref 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
    }