Programın hafızadaki durumu olan bir nesnem var ve ayrıca durumu değiştirmek için nesneyi ilettiğim başka çalışan işlevlerim var. Bunu işçi işlevlerine göre aktarıyorum. Ancak şu fonksiyonla karşılaştım.
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);
Kafamı karıştırıyor çünkü ikisi de received_s
ve remoteEP
işlevden bir şeyler döndürüyor. Neden a'ya remoteEP
ihtiyaç duyuyor ref
ve received_s
gerekmiyor?
Ben de ac programcısıyım, bu yüzden işaretçileri kafamdan atmakta sorun yaşıyorum.
Düzenleme: Görünüşe göre C # 'daki nesneler kaputun altındaki nesneye işaret ediyor. Böylece, bir nesneyi bir işleve ilettiğinizde, nesne içeriğini işaretçi aracılığıyla değiştirebilirsiniz ve işleve iletilen tek şey nesnenin işaretçisidir, böylece nesnenin kendisi kopyalanmaz. Çift işaretçi gibi işlevde geçiş yapabilmek veya yeni bir nesne oluşturmak istiyorsanız ref veya out kullanırsınız.