Rumah >pembangunan bahagian belakang >C++ >Apakah perbezaan antara kata kunci C#'dan `out` untuk mengubahsuai objek?
C# ref
dan out
Kata Kunci: Perbezaan Yang Jelas
Dalam C#, apabila kaedah perlu mengubah suai objek yang diluluskan sebagai argumen, kata kunci ref
dan out
memainkan peranan penting. Walaupun kedua-duanya mendayakan pengubahsuaian, tingkah laku mereka berbeza dengan ketara.
ref
Kata Kunci: Mengubah Suai Objek Sedia Ada
Kata kunci ref
menandakan bahawa kaedah beroperasi terus pada objek asal yang diluluskan sebagai hujah, bukan salinan. Sebarang perubahan dalam kaedah secara langsung mempengaruhi objek asal. Yang penting, objek mesti dimulakan sebelum dihantar ke kaedah.
out
Kata Kunci: Mencipta dan Memulangkan Objek
Sebaliknya, kata kunci out
menunjukkan bahawa kaedah bertanggungjawab untuk memulakan objek. Kaedah memberikan nilai kepada objek, dan objek yang baru dimulakan ini kemudiannya dikembalikan kepada pemanggil. Parameter out
diisytiharkan tetapi tidak memerlukan pemulaan sebelum panggilan kaedah.
Memilih Kata Kunci yang Tepat
Pilihan antara ref
dan out
bergantung pada tujuan kaedah:
ref
untuk mengubah suai objek sedia ada; kaedah tidak mencipta objek baharu.out
untuk membuat dan mengembalikan objek baharu; kaedah ini bertanggungjawab untuk permulaan.Contoh Ilustrasi:
<code class="language-csharp">public void ModifyWithRef(ref MyClass someClass) { someClass.Property1 = 10; } public void CreateWithOut(out MyClass someClass) { someClass = new MyClass { Property1 = 20 }; }</code>
ModifyWithRef
mengubah suai someClass
sedia ada menggunakan ref
. CreateWithOut
mencipta dan memulakan someClass
menggunakan out
. Perhatikan perbezaan keperluan permulaan apabila memanggil kaedah ini.
Atas ialah kandungan terperinci Apakah perbezaan antara kata kunci C#'dan `out` untuk mengubahsuai objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!