অ্যারে.কপি এবং বাফার.ব্লককপি উভয়ই একই কাজ করে তবে BlockCopy
দ্রুত বাইট-স্তরের আদিম অ্যারে অনুলিপি করা হয়, যেখানে Copy
সাধারণ উদ্দেশ্য বাস্তবায়ন হয়। আমার প্রশ্নটি - কোন পরিস্থিতিতে আপনার ব্যবহার করা উচিত BlockCopy
? আপনি যখন আদিম ধরণের অ্যারেগুলি অনুলিপি করছেন তখন যে কোনও সময় এটি ব্যবহার করা উচিত, বা আপনি যদি পারফরম্যান্সের জন্য কোডিং করছেন তবেই এটি ব্যবহার করা উচিত? Buffer.BlockCopy
ওভার ব্যবহার সম্পর্কে সহজাতভাবে বিপজ্জনক কিছু আছে কি Array.Copy
?
byte[]
। রিলিজ সংস্করণে কোনও পার্থক্য ছিল না। কখনও কখনও Array.Copy
, কখনও কখনও Buffer.BlockCopy
(সামান্য) দ্রুত।
Array.Copy
বরং একটি বিশেষ সংস্করণ - উদাহরণস্বরূপ এটি কেবল একই র্যাঙ্ক অ্যারে অনুলিপি করতে পারে।
Marshal.Copy
:-)। ভাল,Array.Copy
রেফারেন্স ধরণের জন্য, জটিল মান ধরণের এবং যদি প্রকারটি পরিবর্তন নাBuffer.BlockCopy
হয় তবে মান ধরণের, বাইট অ্যারে এবং বাইট যাদুতে "রূপান্তর" করার জন্য ব্যবহার করুন। F.ex.StructLayout
আপনি কী করছেন তা যদি জানেন তবে এর সাথে সম্মিলনটি বেশ শক্তিশালী। পারফরম্যান্সের ক্ষেত্রে, এটি মনে হয় যে এটির জন্য একটি নিয়ন্ত্রণহীন কলmemcpy
/cpblk
এটি সবচেয়ে দ্রুত - কোড4 k.blogspot.nl/2010/10/… দেখুন ।