C#中的byte*的复制
作者:野牛程序员:2023-12-25 14:30:27C#阅读 2830
在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

