Perbedaan antara parameter ref dan out di c #

ref (Referensi) Parameter

Parameter “ref” digunakan untuk meneruskan nilai dengan referensi dari parameter aktual ke parameter formal yaitu dari metode callee ke metode yang disebut. Dalam C #, parameter yang dideklarasikan dengan pengubah "ref" adalah parameter referensi. Ketika Anda melewatkan parameter dengan referensi, tidak seperti parameter nilai, lokasi baru tidak dibuat untuk parameter ini. Setiap perubahan yang dilakukan pada parameter formal akan tercermin dalam parameter aktual.

Contoh Parameter ref
Seperti yang ditunjukkan pada cuplikan program di atas, setiap perubahan yang dilakukan pada m akan direfleksikan ke n, karena parameter dilewatkan oleh referensi.

Parameter Keluaran (Keluaran)

Parameter output digunakan untuk meneruskan hasilnya kembali ke fungsi panggilan. kata kunci 'out' digunakan untuk mendeklarasikan parameter sebagai parameter Output. Mirip dengan parameter referensi, parameter output tidak membuat lokasi penyimpanan baru. Sebaliknya, itu menjadi alias ke parameter dalam metode panggilan.

Contoh Parameter keluar
Dalam program di atas, x dinyatakan sebagai parameter keluar dalam fungsi panggilan dan seperti yang Anda lihat, x belum diinisialisasi. Ketika fungsi Square berakhir, nilai q akan disalin ke parameter output x.

Perbedaan antara parameter ref dan out di C #

  1. Dalam parameter referensi, perubahan yang dilakukan pada parameter formal mencerminkan parameter aktual, sedangkan dalam parameter keluar, nilai direfleksikan kembali ke parameter keluar dari fungsi panggilan.
  2. Parameter aktual 'keluaran' biasanya tidak diberi nilai sementara parameter aktual yang dinyatakan sebagai referensi harus selalu diberi nilai sebelum memanggil.
    Catatan: Anda harus menetapkan nilai ke parameter keluar di badan metode; jika tidak, metode ini tidak akan dikompilasi.
  3. Parameter out dan ref tidak membuat lokasi memori baru.
  4. Parameter ref dan out diperlakukan berbeda pada saat run-time, tetapi mereka diperlakukan sama pada waktu kompilasi.
ITU