为了账号安全,请及时绑定邮箱和手机立即绑定

C#中定义好了数组a,有什么方法可以直接截取数组a的几个元素来组成新数组(不能直接输入数组初值)

C#中定义好了数组a,有什么方法可以直接截取数组a的几个元素来组成新数组(不能直接输入数组初值)

C#
小怪兽爱吃肉 2019-04-04 06:02:51
如,int[] a=new int[5]{1,2,3,4,5}我想取a数组的前3个元素来组成新数组b,但是不能直接赋值写成 int[] b={1,2,3}有没有其他方法? 我来答 分享
查看完整描述

4 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞


1

2

3

4

5

6

  static void Main(string[] args){

            int[] a = new int[5] { 1, 2, 3, 4, 5 };

            int[] b = new int[3];

            // 下面这句话的意思是:从数组a下标为2的元素开始克隆元素到目标数组b下标为0的作为接受克隆过来的值的起始存储的位置,总共在a数组截取3个元素

             Array.ConstrainedCopy(a, 2, b, 0, 3);

  }


 


查看完整回答
反对 回复 2019-04-05
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

Array.Size(ref a,3);:将数组的大小更改为指定的新大小。
Array.ConstrainedCopy(a,0,b,0,3);:从指定的源索引开始,复制 Array 中的一系列元素,将它们粘贴到另一 Array 中(从指定的目标索引开始),
public static void ConstrainedCopy (
Array sourceArray,
int sourceIndex,
Array destinationArray,
int destinationIndex,
int length
)

参数
sourceArray
Array,它包含要复制的数据。
sourceIndex
一个 32 位整数,它表示 sourceArray 中复制开始处的索引。
destinationArray
Array,它接收数据。
destinationIndex
一个 32 位整数,它表示 destinationArray 中存储开始处的索引。
length
一个 32 位整数,它表示要复制的元素数目。



查看完整回答
反对 回复 2019-04-05
?
HUX布斯

TA贡献1876条经验 获得超6个赞

int[] a = new int[5] { 1, 2, 3, 4, 5 };
int[] b = new int[3];
Array.Copy(a, 0, b, 0, 3);

查看完整回答
反对 回复 2019-04-05
?
千万里不及你

TA贡献1784条经验 获得超9个赞


1

2

3

4

5

6

int[] a = new int[5] { 1, 2, 3, 4, 5 };

            int[] b = new int[3];

            for (int i = 0; i < b.Length; i++)

            {

                b[i] = a[i];

            }

 


查看完整回答
反对 回复 2019-04-05
  • 4 回答
  • 0 关注
  • 1439 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信