dalam pemahaman mengenai objek dalam C#
Apabila lulus objek imej ke kaedah, perubahan yang dibuat dalam kaedah ini tidak akan dapat dilihat dalam objek asal selepas kaedah dikembalikan. Ini menyimpang dari semantik yang dijangkakan.
Kebenaran nilai yang dihantar
bertentangan dengan kognisi umum, objek itu sendiri tidak diluluskan secara langsung. Sebaliknya, nilai mereka akan dinilai dan diluluskan sebagai parameter awal kaedah. Untuk jenis rujukan, nilai ini adalah rujukan kepada objek yang sedia ada. Pengubahsuaian objek akan dapat dilihat oleh pemanggil.
Walau bagaimanapun, parameter rujukan kepada objek lain, yang tidak akan dapat dilihat dalam kaedah panggilan. Ini kerana semua parameter disampaikan secara lalai.lulus
untuk mencapai tingkah laku penghantaran sebenar, kata kunci ref atau keluar mesti digunakan. Kata kunci ini memastikan nilai parameter dan kedudukan penyimpanan dan perkongsian parameter. Oleh itu, pengubahsuaian parameter akan diperhatikan oleh kaedah panggilan. Singkatnya, walaupun objek jenis rujukan pada asalnya diluluskan pada nilai, rujukan mereka boleh diubahsuai, dan perubahan yang dibuat oleh objek rujukan akan dapat dilihat oleh panggilan. Walau bagaimanapun, tugasan objek baru diberikan kepada parameter tidak akan menyebarkan kaedah panggil balik. Untuk mencapai tingkah laku penghantaran sebenar, ref atau keluar mesti digunakan secara eksplisit.
Atas ialah kandungan terperinci Bagaimanakah C# mengendalikan objek lulus: lulus-demi-nilai atau lulus-demi-rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!