c#如何把某个长数组的一部分复制到另一个短数组里面

byte[]shortAry=newbyte[4];byte[]longAry=newbyte[20];如何把longAry[5,9(不含)]这4个字节复制到shortA... byte[] shortAry=new byte[4];
byte[] longAry=new byte[20];
如何把longAry[5,9(不含)]这4个字节复制到shortAry里面?
不要用循环
我说的“不要用循环”是指不要手动用for语句去循环,而是用系统自带的方法
展开
 我来答
freeeeeewind
2015-08-20 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1300万
展开全部

用Array.Copy方法将数组或者数组的一部分复制到另个数组。Array.Copy是静态方法,有多个重载版本。其中常用的是:

public static void Copy(
    Array sourceArray,
    int sourceIndex,
    Array destinationArray,
    int destinationIndex,
    int length);

各个参数含义如下

  • sourceArray —— 源数组

  • sourceIndex —— 表示 sourceArray 中复制开始处的索引

  • destinationArray —— 目标数组,它接收数据

  • destinationIndex —— 表示 destinationArray 中存储开始处的索引

  • length —— 要复制的元素数目。

用法举例如下:

(1)复制数组的一部分到另一个数组

int[] src = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
int[] dest = new int[4];
// 将数组 src 中元素 2,3,4,5 复制到 dest  
Array.Copy(src, 1, dest, 0, 4);

(2)复制整个数组

int[] src = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
int[] dest = new int[src.Length];
// 将数组 src 所有元素复制到 dest  
Array.Copy(src, 0, dest, 0, src.Length);
然后去远足
2014-10-27 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2366万
展开全部
不可能不用循环。

即使是 Array.CopyTo() 方法,本质也是循环,无非是你自己写循环还是 CLR 封装好了你调用。

况且 CopyTo 在目标数组长度小于原数组指定长度依旧会抛出异常。
追问
我就是指有没有已经封装好的复制方法。
CopyTo只能把短的复制到长的里面,不能把”长的“的【一部分】复制到短的里面
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式