C#中的byte*的复制
作者:野牛程序员:2023-12-25 14:30:27C#阅读 2646
在C#中,可以使用指针来进行byte*
的复制操作。以下是一个简单的示例代码,展示了如何使用指针来复制字节数组:
using System; class Program { static unsafe void Main() { // 原始字节数组 byte[] sourceArray = { 1, 2, 3, 4, 5 }; // 创建目标字节数组,长度与源数组相同 byte[] destinationArray = new byte[sourceArray.Length]; // 使用 fixed 关键字固定源数组,获取指向源数组首元素的指针 fixed (byte* sourcePtr = sourceArray) { // 使用 fixed 关键字固定目标数组,获取指向目标数组首元素的指针 fixed (byte* destinationPtr = destinationArray) { // 使用 memcpy 进行字节数组的复制 Buffer.MemoryCopy(sourcePtr, destinationPtr, sourceArray.Length, sourceArray.Length); } } // 打印复制后的目标数组内容 Console.WriteLine("复制后的目标数组:"); foreach (byte value in destinationArray) { Console.Write(value + " "); } } }
上述代码使用 fixed
关键字固定源数组和目标数组,然后使用 Buffer.MemoryCopy
方法进行字节数组的复制。请注意,使用指针和不安全代码可能导致内存错误,因此在使用时要小心谨慎。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
