问题描述
int数组A{5,6,9},数组B{5,6,8}我想得到数组temp为{5,6,8,9}该怎么操作呢?谢谢
解决方案
解决方案二:
int[]first=newint[]{5,6,9};int[]second=newint[]{5,6,8};vartemp=first.Union(second).OrderBy(p=>p);
解决方案三:
int[]a=newint[]{5,6,9};int[]b=newint[]{5,6,8};int[]temp=a.Concat(b).Distinct().OrderBy(i=>i).ToArray();
解决方案四:
a.Concat(b).Distinct();
解决方案五:
数组合并之在数组中添加一个数组//向一维数组中添加一个数组//<paramname="ArrayBorn">源数组</param>//<paramname="ArrayAdd">要添加的数组</param>//<paramname="Index">添加索引</param>//<returns>新得到的数组</returns>staticint[]AddArray(int[]ArrayBorn,int[]ArrayAdd,intIndex){if(Index>=(ArrayBorn.Length))//判断添加索引是否大于数组的长度Index=ArrayBorn.Length-1;//将添加索引设置为数组的最大索引int[]TemArray=newint[ArrayBorn.Length+ArrayAdd.Length];//声明一个新的数组for(inti=0;i<TemArray.Length;i++)//遍历新数组的元素{if(Index>=0)//判断添加索引是否大于等于0{if(i<(Index+1))//判断遍历到的索引是否小于添加索引加1TemArray[i]=ArrayBorn[i];//交换元素值elseif(i==(Index+1))//判断遍历到的索引是否等于添加索引加1{for(intj=0;j<ArrayAdd.Length;j++)//遍历要添加的数组TemArray[i+j]=ArrayAdd[j];//为遍历到的索引设置添加值i=i+ArrayAdd.Length-1;//将遍历索引设置为要添加数组的索引最大值}//CodeGo.net/elseTemArray[i]=ArrayBorn[i-ArrayAdd.Length];//交换元素值}else{if(i==0)//判断遍历到的索引是否为0{for(intj=0;j<ArrayAdd.Length;j++)//遍历要添加的数组TemArray[i+j]=ArrayAdd[j];//为遍历到的索引设置添加值i=i+ArrayAdd.Length-1;//将遍历索引设置为要添加数组的索引最大值}elseTemArray[i]=ArrayBorn[i-ArrayAdd.Length];//交换元素值}}returnTemArray;//返回添加数组后的新数组}
解决方案六:
引用1楼duanzi_peng的回复:
int[]first=newint[]{5,6,9};int[]second=newint[]{5,6,8};vartemp=first.Union(second).OrderBy(p=>p);
这个就可以,没必要Concat再Distinct,Union就是去重复的。