Saya memiliki objek yang saya dalam status memori program dan juga memiliki beberapa fungsi pekerja lain yang saya berikan objek untuk mengubah status. Saya telah meneruskannya dengan ref ke fungsi pekerja. Namun saya menemukan fungsi berikut.
byte[] received_s = new byte[2048];
IPEndPoint tmpIpEndPoint = new IPEndPoint(IPAddress.Any, UdpPort_msg);
EndPoint remoteEP = (tmpIpEndPoint);
int sz = soUdp_msg.ReceiveFrom(received_s, ref remoteEP);
Ini membingungkan saya karena keduanya received_s
dan remoteEP
mengembalikan barang dari fungsi. Mengapa remoteEP
perlu ref
dan received_s
tidak?
Saya juga seorang programmer ac jadi saya mengalami masalah dalam mendapatkan petunjuk dari kepala saya.
Sunting: Sepertinya objek di C # adalah penunjuk ke objek di bawah tenda. Jadi, saat Anda meneruskan objek ke suatu fungsi, Anda kemudian dapat mengubah konten objek melalui penunjuk dan satu-satunya hal yang diteruskan ke fungsi tersebut adalah penunjuk ke objek sehingga objek itu sendiri tidak sedang disalin. Anda menggunakan ref atau keluar jika Anda ingin dapat beralih atau membuat objek baru dalam fungsi yang seperti penunjuk ganda.