Array.Copy और Buffer.BlockCopy दोनों एक ही काम करते हैं, लेकिन 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उसके लिए सबसे तेज़ है - कोड 4k.blogspot.nl/2010/10/ देखें ।