将字节数组复制到C#中的另一个字节数组 [英] Copy byte array to another byte array in C#

查看:122
本文介绍了将字节数组复制到C#中的另一个字节数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有两个字节数组,其中填充了不同的值.

There are two byte arrays which are populated with different values.

byte[] Array1 = new byte[5];
byte[] Array2 = new byte[5];

然后,我需要Array1来获得与Array2完全相同的值.

Then, I need Array1 to get exactly the same values as Array2.

通过键入Array1 = Array2我将设置引用,这不会复制值.

By typing Array1 = Array2 I would just set references, this would not copy the values.

可能是什么解决方法?

所有答案都是好的,所有解决方案都可以.第一个解决方案中的代码在我的特殊情况下看起来更具描述性.

All answers are good and all solutions work. The code from the first solution looks visually more descriptive for my particular case.

Array1 = Array2.ToArray();

Array1 = Array2.ToArray();

Array1.CopyTo(Array2,0);

Array1.CopyTo(Array2, 0);

以及

Buffer.BlockCopy(Array2,0,Array1,0,5);

Buffer.BlockCopy(Array2, 0, Array1, 0, 5);

推荐答案

Linq提供的一种解决方案...

One solution courtesy of Linq...

Array1 = Array2.ToArray();

使用此Linq调用之前,不需要为Array1分配空间. Array1的分配是在ToArray()中完成的.下面是更完整的示例

you do not need to allocate space for Array1 before using this Linq call. The allocation for Array1 is done within ToArray(). More complete example below

byte[] Array2 = new byte[5];
// set values for Array2
byte[] Array1 = Array2.ToArray();

这篇关于将字节数组复制到C#中的另一个字节数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆