dalam perbincangan mengenai penghantaran objek dalam c#: rujukan dan nilai
Dalam C#, objek penghantaran ke kaedah selalu menjadi konsep asas. Secara amnya dipercayai bahawa jenis bukan original diluluskan dengan rujukan.
mendedahkan kebenaran: Transmisi nilai dan pemindahan rujukan
Untuk memahami fenomena ini, kita perlu menjelaskan sifat sebenar objek yang dihantar oleh objek dalam C#. Objek itu sendiri tidak akan dihantar; Untuk jenis rujukan, nilai ini adalah rujukan kepada objek sebenar, yang membolehkan perubahan kepada objek asas dalam pihak panggilan. perbezaan halus antara penghantaran nilai dan pemindahan rujukan
Secara lalai, C# menggunakan "penghantaran nilai" kepada semua jenis (termasuk jenis rujukan). Ini bermakna salinan objek diluluskan sebagai nilai awal parameter. Tukar nilai parameter tidak menjejaskan objek asal.
Untuk menukar nilai atribut objek di dalam kaedah, "pemindahan rujukan" boleh digunakan dengan menentukan kata kunci atau ref dalam pernyataan parameter. Dalam kes ini, parameter secara berkesan merujuk kedudukan ingatan yang sama seperti parameter, dan perubahan kepada parameter akan dapat dilihat dalam panggilan.
Kod Contoh:
Kesimpulan
Konsep "penghantaran nilai" dan "pemindahan rujukan" dalam C# berbeza dari pemahaman tradisionalnya. Sebaliknya, nilai parameter dihantar, sama ada sebagai salinan (jenis nilai) atau rujukan (jenis rujukan). Untuk menukar nilai atribut objek di dalam kaedah, anda boleh menggunakan kata kunci keluar atau ref untuk rujukan dan lulus.
Atas ialah kandungan terperinci Bagaimanakah C# mengendalikan objek lulus ke kaedah: rujukan atau nilai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!