আমার একটি অবজেক্ট রয়েছে যা আমার প্রোগ্রামের স্মৃতিশক্তি হিসাবে রয়েছে এবং কিছু অন্যান্য কর্মীও রয়েছে যা আমি এই পরিস্থিতিটি রাষ্ট্রটি পরিবর্তন করার জন্য পাস করি pass আমি কর্মীদের ফাংশনগুলি রেফার করে এটি পাস করছি। তবে আমি নিম্নলিখিত ফাংশন জুড়ে এসেছি।
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);
এটি আমাকে বিভ্রান্ত করে কারণ উভয়ই received_s
এবং remoteEP
ফাংশন থেকে স্টাফ ফিরছে। কেন remoteEP
একটি প্রয়োজন ref
এবং received_s
না?
আমিও এসি প্রোগ্রামার তাই আমার মাথা থেকে পয়েন্টার বের করতে সমস্যা হচ্ছে।
সম্পাদনা: দেখে মনে হচ্ছে যে সি # তে থাকা অবজেক্টগুলি হুডের নীচে থাকা বস্তুর পয়েন্টার। সুতরাং আপনি যখন কোনও ফাংশনে কোনও বস্তুটি পাস করেন আপনি তারপরে পয়েন্টারের মাধ্যমে অবজেক্টের বিষয়বস্তুগুলি সংশোধন করতে পারেন এবং ফাংশনটিতে কেবলমাত্র পাস করা জিনিসটি পয়েন্টারটিকে তাই বস্তুটি নিজেই অনুলিপি করা হয় না। আপনি ডাবল পয়েন্টারের মতো ফাংশনটিতে স্যুইচ আউট করতে বা কোনও নতুন অবজেক্ট তৈরি করতে সক্ষম হতে চাইলে আপনি রেফ বা আউট ব্যবহার করেন।