先貼代碼
實(shí)現(xiàn)的是一個(gè)復(fù)制的功能
using System;
namespace ConsoleApp2
{
class Program
{
static unsafe void Copy(byte[] src,byte[] dst, int count)
{
int srcLen = src.Length;
int dstLen = dst.Length;
if(srcLen<count||dstLen<count)
{
throw new ArgumentException();
}
fixed (byte* pSrc=src, pDst=dst)
{
byte* ps = pSrc;
byte* pd = pDst;
for(int n=0;n<count;n++)
{
*pd++ = *ps++;
}
}
}
static void Main()
{
byte[] a = new byte[100];
byte[] b = new byte[100];
for(int i=0;i<100;i++)
{
a[i] = (byte)i;
}
Copy(a, b, 100);
Console.WriteLine("The first 10 elements are:");
for (int i = 0; i < 10; i++)
Console.Write(b[i] + "{0}", i < 9 ? " " : "");
//Console.WriteLine();
}
}
}
注意出現(xiàn)的錯(cuò)誤警告
如果你在編譯過(guò)程中出現(xiàn)了錯(cuò)誤CS0227不安全代碼只會(huì)在使用 /unsafe 編譯的情況下出現(xiàn)這樣的問(wèn)題,那么你需要設(shè)置一下當(dāng)前項(xiàng)目的屬性:

調(diào)試->屬性

生成->勾選中箭頭的選項(xiàng)