如何把2个数组拼接为一个数组?

jhdxhj 2009-06-09 09:46:51
如何把2个数组拼接为一个数组?
...全文
2707 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghost5216 2009-06-09
  • 打赏
  • 举报
回复

int []a=new int[5];
int[] b = new int[5];
........
Array.Resize(a, a.Length + b.Length);
Array.ConstrainedCopy(b, 0, a, a.Length, b.Length);
把b连在a后面了
  • 打赏
  • 举报
回复
List 实际上也是一个数组,他默认只会有4个元素,如果添加的item的数量大于当前数组的最大值的时候,它会按照当前最大数的两倍重新new 数组,并将原来的数据复制过来,所以最好在构造函数的时候告诉它将有多少个项加入,这样就不会产生复制的情况了。效率肯定比上面的要高。
  • 打赏
  • 举报
回复
int [] d1= {1,2};
int [] d2= {3,4};
List <int> ls= new List <int>(d1.Length + d2.Length);
ls.AddRange(d1);
ls.AddRange(d2);
int []d3= ls.ToArray();
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ljhcy99 的回复:]
int [] d1= {1,2};
int [] d2= {3,4};
List <int> ls= new List <int>();
foreach(int i in d1)
{
ls.Add(i);
}
foreach(int i in d2)
{
ls.Add(i);
}
int []d3= ls.ToArray();
[/Quote]

如果一定要这样写,这样写效率会更高

int [] d1= {1,2};
int [] d2= {3,4};
List <int> ls= new List <int>(d1);
ls.AddRange(d2);
int []d3= ls.ToArray();
zgke 2009-06-09
  • 打赏
  • 举报
回复
使用Array.Copy

int[] _Value1 = new int[10];
int[] _Value2 = new int[10];

_Value1[0] = 100;
_Value2[0] = 100;

int[] _Value = new int[_Value1.Length + _Value2.Length];

Array.Copy(_Value1,0, _Value, 0, _Value1.Length);
Array.Copy(_Value2, 0, _Value, _Value1.Length, _Value1.Length);
chinahebei 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 black_night 的回复:]
试试能不能用ArrayList转换
[/Quote]
使用比较方便
  • 打赏
  • 举报
回复
int [] d1= {1,2};
int [] d2= {3,4};

int[] d3 = new int[d1.Length + d2.Length];
Array.Copy(d1,0,d3,0,d1.Lenth);
Array.Copy(d2,0,d3,d1.Length,d2.Length);
black_night 2009-06-09
  • 打赏
  • 举报
回复
试试能不能用ArrayList转换
ljhcy99 2009-06-09
  • 打赏
  • 举报
回复
int [] d1= {1,2};
int [] d2= {3,4};
List<int> ls= new List<int>();
foreach(int i in d1)
{
ls.Add(i);
}
foreach(int i in d2)
{
ls.Add(i);
}
int []d3= ls.ToArray();

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧