Array.Copy dan Buffer.BlockCopy keduanya melakukan hal yang sama, tetapi BlockCopyditujukan untuk penyalinan array primitif tingkat-byte yang cepat, sedangkan Copyimplementasi untuk tujuan umum. Pertanyaan saya adalah - dalam keadaan apa Anda harus menggunakan BlockCopy? Haruskah Anda menggunakannya kapan saja saat Anda menyalin array tipe primitif, atau haruskah Anda menggunakannya hanya jika Anda mengkode untuk kinerja? Apakah ada sesuatu yang secara inheren berbahaya tentang penggunaan Buffer.BlockCopyberlebihan Array.Copy?
byte[]. Tidak ada perbedaan dalam versi Rilis. Terkadang Array.Copy, terkadang Buffer.BlockCopy(sedikit) lebih cepat.
Array.Copylebih merupakan versi khusus - misalnya ia hanya dapat menyalin array peringkat yang sama.
Marshal.Copy:-). Nah, gunakanArray.Copyuntuk tipe referensi, tipe nilai kompleks dan jika tipenya tidak berubah,Buffer.BlockCopyuntuk "konversi" antara tipe nilai, array byte, dan sihir byte. F.ex. kombinasi denganStructLayoutcukup kuat jika Anda tahu apa yang Anda lakukan. Mengenai kinerja, tampaknya panggilan tidak terkelola kememcpy/cpblkadalah yang tercepat untuk itu - lihat code4k.blogspot.nl/2010/10/… .