Java中Arrays.copyTo()方法在C#中的等效实现方式查询
Java Arrays.copyTo 对应的C#等效方法
首先明确:Java标准Arrays类未内置copyTo()方法,你要找的数组复制能力对应C#以下两个完全对齐功能的实现:
1. 全量复制到目标数组指定起始位置(最常用场景,和你描述的copyTo逻辑完全匹配)
使用C#数组实例自带的CopyTo()方法:
- 功能:将源数组的所有元素,依次复制到目标数组的指定起始索引之后的位置
- 示例代码:
// 源数组 int[] source = { 1, 2, 3, 4, 5 }; // 目标数组,长度要足够容纳源数组元素 int[] target = new int[8]; // 参数1:目标数组,参数2:目标数组的起始存放索引 source.CopyTo(target, 2); // 执行后target数组为 [0, 0, 1, 2, 3, 4, 5, 0]
2. 自定义范围复制
如果需要指定源数组的截取起始位置、复制元素数量,使用C#静态方法Array.Copy():
- 功能:支持自定义截取源数组的部分元素,复制到目标数组的指定位置
- 示例代码:
int[] source = { 1, 2, 3, 4, 5 }; int[] target = new int[8]; // 参数顺序:源数组、源数组起始索引、目标数组、目标数组起始索引、复制元素数量 Array.Copy(source, 1, target, 3, 3); // 执行后target数组为 [0, 0, 0, 2, 3, 4, 0, 0]
注意事项
以上两个方法均为浅拷贝:如果数组存储的是引用类型元素,只会复制对象的内存引用,不会克隆对象本身,行为和Java对应数组复制方法完全一致。
内容的提问来源于stack exchange,提问作者LeonTheDev
相关产品推荐
相关产品推荐

