Perbezaan antara keluar dan ref pada C #

Perbezaan Utama - keluar vs ref in C #
 

C # adalah bahasa pengaturcaraan moden yang dibangunkan oleh Microsoft. Ia digunakan untuk membangunkan pelbagai aplikasi untuk desktop, web dan mudah alih. Fungsi atau kaedah adalah konsep dalam pengaturcaraan. Kumpulan pernyataan yang digunakan untuk melaksanakan tugas tertentu dikenali sebagai fungsi atau kaedah. Dalam program C #, pelaksanaan bermula dari utama (). Ia adalah satu contoh kaedah. Apabila memanggil kaedah, data diluluskan kepada kaedah atau diterima daripada kaedah. Kaedah yang memanggil kaedah baru dikenali sebagai memanggil kaedah. Kaedah baru dikenali sebagai kaedah yang dipanggil. Untuk menguruskan nilai lulus dan mengembalikan hasilnya, C # menggunakan parameter. Mereka adalah parameter bernilai, parameter output dan parameter rujukan. Parameter nilai digunakan untuk lulus parameter ke dalam kaedah mengikut nilai. Parameter rujukan digunakan untuk lulus parameter kepada kaedah dengan rujukan. Parameter output digunakan untuk lulus hasilnya kembali dari kaedah. Dalam C #, kata kunci keluar digunakan untuk parameter output dan ref kata kunci digunakan untuk parameter rujukan. The perbezaan utama antara dan ref pada C # ialah, keluar ialah kata kunci yang digunakan untuk merujuk parameter keluaran yang digunakan untuk lulus hasil dari kaedah yang dipanggil untuk memanggil kaedah sementara ref ialah kata kunci untuk merujuk parameter rujukan yang digunakan untuk melewati data dari kaedah panggilan untuk dipanggil kaedah dan untuk menerima data dari kaedah yang dipanggil untuk memanggil kaedah.

KANDUNGAN

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa yang terdapat dalam C #
3. Apakah ref pada C #
4. Persamaan Antara keluar dan ref dalam C #
5. Side by Side Comparison - out vs ref in C # dalam Borang Tabular
6. Ringkasan

Apa yang keluar dalam C #?

Sintaks untuk fungsi atau kaedah adalah seperti berikut. Kaedah mempunyai beberapa elemen seperti nama kaedah, senarai parameter, jenis pemulangan dan penunjuk akses.

(senarai parameter)

// statements to execute

Setiap kaedah mempunyai kaedah yang unik untuk membuat panggilan berfungsi. Kenyataan yang boleh dilaksanakan adalah di dalam pendakap kerinting. Jenis pulangan menerangkan sama ada fungsi mengembalikan nilai atau tidak. Apabila tiada jenis pulangan, ia dipanggil tidak sah. Speker akses digunakan untuk menentukan kebolehcapaian kaedah dalam aplikasi. Parameter ini digunakan untuk menerima atau lulus data kepada kaedah. Terdapat juga kaedah tanpa parameter. Parameter boleh dinilai parameter, parameter output atau parameter rujukan.

Parameter output digunakan untuk lulus hasil kembali kepada kaedah panggilan. Untuk itu, parameter harus diisytiharkan dengan kata kunci keluar. Parameter keluaran tidak membuat lokasi penyimpanan baharu. Umumnya, satu kaedah mengembalikan satu nilai. Tetapi dalam C #, adalah mungkin untuk mengembalikan dua nilai dari fungsi menggunakan parameter output. Rujuk program di bawah.

aplikasi namespace1

            pengiraan kelas awam

paparan void awam (keluar int a, out int b)

int value = 5;

a = nilai;

b = nilai;

a = a * a;

b = b * b;

public static void main (String [] args)

int value1 = 10, value2 = 20;

Pengiraan kal = Pengiraan baru ();

cal.display (out value1, out value2);

Console.ReadLine ();

Fungsi paparan dipanggil dari kaedah utama. Nilai 1 dan nilai dua mempunyai 10 dan 20, tetapi mereka tidak diambil ke dalam kaedah. Nilai a ialah 25 dan nilai b juga 25 dalam fungsi. Oleh itu, nilai tersebut dikembalikan. Apabila mencetak nilai1 dan nilai2, ia tidak akan memberi 10 dan 20. Sebaliknya, ia akan mencetak 25 dan 25. Menggunakan pelbagai nilai kata kunci keluar boleh dikembalikan dari kaedah.

Apakah ref di C #?

Apabila lulus parameter mengikut nilai, lokasi penyimpanan baharu dibuat untuk setiap parameter. Parameter sebenar yang dihantar dari program utama tidak berubah. Sebaliknya, nilai-nilai tersebut disalin ke lokasi berasingan. Salinan pemboleh ubah baru ini dipanggil parameter rasmi. Rujuk kod di bawah.

aplikasi namespace1

pengiraan kelas awam

swap void awam (int x, int y)

int temp;

temp = x;

x = y;

y = temp;

public static void main (String [] args)

Pengiraan kal = Pengiraan baru ();

int p = 2;

int q = 3;

cal.swap (p, q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

Menurut program di atas, kelas Pengiraan mempunyai kaedah swap (). Dalam program utama, objek Pengiraan jenis dibuat. Terdapat dua nilai seperti p dan q. Pemboleh ubah p mempunyai nilai 2 dan pembolehubah q mempunyai nilai 3. Kedua nilai tersebut diluluskan kepada kaedah swap. Dalam kaedah swap, nilai 2 disalin ke pembolehubah x dan nilai 3 disalin kepada y berubah. Menggunakan pembolehubah temp, nilai-nilai itu ditukar. Kembali dalam program utama, apabila mencetak p dan q, nilai tidak ditukar. Nilai p masih 2 dan nilai q ialah 3. Walaupun dalam kaedah pertukaran, nilai ditukar tetapi tidak mencerminkan dalam program utama.

Tidak seperti lulus nilai seperti di atas, adalah mungkin untuk lulus parameter dengan rujukan. Variabel rujukan adalah rujukan kepada lokasi memori. Tiada lokasi memori baru dibuat. Perubahan dalam kaedah yang ditunjukkan dalam program utama. Dalam C #, parameter rujukan dirujuk menggunakan kata kunci ref. Rujuk program di bawah.

aplikasi namespace1

pengiraan kelas awam

swap void awam (ref int x, ref int y)

int temp;

temp = x;

x = y;

y = temp;

public static void main (String [] args)

Pengiraan kal = Pengiraan baru ();

int p = 2;

int q = 3;

cal.swap (ref p, ref q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

Menurut program di atas, Pengiraan kelas mempunyai kaedah swap. Dalam program utama, objek Pengiraan jenis dibuat. Dua adalah pemboleh ubah seperti p dan q. Pembolehubah p mempunyai nilai 2 dan pembolehubah q mempunyai nilai 3. Daripada lulus nilai, rujukan ke lokasi memori p dan q diluluskan kepada kaedah. Pembolehubah rujukan tersebut dirujuk menggunakan ref. Dalam kaedah pertukaran, bukannya mengatasi nilai-nilai ke lokasi baru, perubahan dibuat kepada parameter sebenar. Apabila mencetak nilai p dan q dari program utama, ia akan memberikan nilai yang ditukar. Sekarang nilai p ialah nilai 3 dan q ialah 2.

Apakah Kesamaan Antara keluar dan ref pada C #?

  • Kedua-dua kata kunci digunakan untuk merujuk parameter dari satu kaedah.

Apakah Perbezaan Antara keluar dan ref pada C #?

keluar vs ref di C #

Keluar ialah kata kunci dalam C # yang digunakan untuk merujuk parameter output. Ia digunakan untuk lulus keputusan daripada kaedah yang dipanggil untuk memanggil kaedah. Ref adalah kata kunci dalam C # yang digunakan untuk merujuk parameter rujukan. Ia digunakan untuk menyampaikan data dari kaedah panggilan untuk dipanggil kaedah dan untuk mengembalikan data dari kaedah yang dipanggil untuk memanggil kaedah.
Fungsi
Apabila menggunakan kata kunci keluar, data boleh diluluskan dari kaedah panggilan ke kaedah yang dipanggil. Tetapi data itu dibuang. Ia digunakan untuk lulus hasil kepada kaedah panggilan daripada kaedah dipanggil. Apabila menggunakan ref kata kunci, data diluluskan dari kaedah panggilan ke kaedah yang dipanggil dan data yang dimanipulasi diluluskan kembali ke kaedah panggilan.
Lulus Data
Apabila menggunakan kata kunci keluar, data diluluskan dalam satu cara yang dipanggil kaedah untuk kaedah panggilan. Apabila menggunakan ref kata kunci, data diluluskan dalam dua cara iaitu, dari kaedah panggilan ke kaedah yang dipanggil dan dari kaedah yang dipanggil ke kaedah panggilan.

Ringkasan - keluar vs ref in C # 

Apabila menggunakan kaedah, ia mungkin perlu untuk lulus nilai-nilai ke dalam kaedah dan untuk mendapatkan semula hasil daripada kaedah. C # mempunyai parameter yang berbeza untuk mencapai itu. Parameter nilai digunakan untuk lulus parameter ke dalam kaedah mengikut nilai. Parameter rujukan digunakan untuk lulus parameter kepada kaedah dengan rujukan. Parameter output digunakan untuk lulus hasilnya kembali dari kaedah. Dalam C #, kata kunci keluar digunakan untuk parameter output dan ref kata kunci digunakan untuk parameter rujukan. Perbezaan di antara keluar dan ref pada C # ialah, kata kunci yang digunakan untuk merujuk parameter keluaran yang digunakan untuk lulus hasil daripada kaedah yang dipanggil untuk memanggil kaedah sementara ref adalah kata kunci untuk merujuk parameter rujukan yang digunakan untuk melewati data dari memanggil kaedah untuk dipanggil kaedah dan untuk menerima data dari kaedah yang dipanggil untuk memanggil kaedah.

Muat turun PDF daripada ref vs C #

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar seperti peringatan kutipan. Sila muat turun versi PDF di sini: Perbezaan Antara Keluar dan Ref di C #

Rujukan:

1.tutorialspoint.com. "Kaedah C #." Tujuan itu. Terdapat di sini 
2.dnfvideo. C # Out parameter Vs REF parameter, .NET Video Penyediaan Temuduga, 28 September 2015. Available here  

Image Courtesy:

1. 'C tajam' Dengan Mothmolevna - Kerja sendiri, (Domain Awam) melalui Wikimedia Commons