Perbezaan dan senario aplikasi ref
dan out
kata kunci dalam C#
Dalam C#, kata kunci ref
dan out
digunakan untuk menghantar objek dengan merujuk kepada kaedah atau fungsi. Mereka membenarkan pemanggil untuk memanipulasi objek secara langsung dalam kaedah yang dipanggil.
Senario penggunaan:
ref
dan out
kedua-duanya membenarkan pengubahsuaian objek yang dihantar kepada kaedah. Perbezaan utama ialah keperluan permulaan mereka:
ref
:
out
:
Kata kunci yang manakah untuk dipilih:
Pilih ref
:
Pilih out
:
Contoh:
Pertimbangkan kaedah berikut untuk mengubah suai sifat MyClass
bagi objek Count
:
<code class="language-csharp">public void IncrementCount(ref MyClass myClass) { myClass.Count++; }</code>
Melalukan objek myClass
yang dipramulakan kepada kaedah ini akan menyebabkan sifat Count
nya diubah suai. Sebaliknya, menghantar objek kosong atau tidak dimulakan akan mengakibatkan ralat masa jalan.
Gunakan out
dalam adegan ini:
<code class="language-csharp">public void CreateNewClass(out MyClass myClass) { myClass = new MyClass(); }</code>
Dalam kes ini, kaedah mencipta dan menetapkan contoh myClass
baharu kepada parameter MyClass
. Objek baharu dikembalikan kepada pemanggil, yang mempunyai objek yang dimulakan dalam konteks setempatnya.
Atas ialah kandungan terperinci C# `ref` vs` out`: Bilakah menggunakan kata kunci mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!