栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

c# 两个数组拼接

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c# 两个数组拼接

问题描述

如题,在.NET/C# 应用程序开发中如何将两个数组合并成一个数组?

方案一

如果在.NET 2.0或者以下版本中,由于没有LINQ,所以只能自定义实现将两个数组合并成一个数组的方法。

如果数组是可以修改的,那可以在复制数组数据之前更改其中一个数组的长度,如下:

T[] array1 = getOneArray();

T[] array2 = getAnotherArray();

int array1OriginalLength = array1.Length;

Array.Resize(ref array1, array1OriginalLength + array2.Length);

Array.Copy(array2, 0, array1, array1OriginalLength, array2.Length);

如果数组是不可修改的,则可以直接创建一个新的数组,如下:

T[] array1 = getOneArray();

T[] array2 = getAnotherArray();

T[] newArray = new T[array1.Length + array2.Length];

Array.Copy(array1, newArray, array1.Length);

Array.Copy(array2, 0, newArray, array1.Length, array2.Length);

方案二

如果是.NET 3.0及以上版本,我们可以使用LINQ的Concat方法把两个数组连接成一个数组,如下:

int[] front = { 1, 2, 3, 4 };

int[] back = { 5, 6, 7, 8 };

int[] combined = front.Concat(back).ToArray();注:Concat方法不会去掉重复的数据

方案三

或者如果是.NET 3.0及以上版本,我们还可以使用LINQ的Union方法把两个数组连接成一个数组,如下:

var arr1 = new[] { 1, 2, 3, 4, 5 };

var arr2 = new[] { 6, 7, 8, 9, 0 };

var arr = arr1.Union(arr2).ToArray();注:Union方法会去掉重复的数据

方案四

如果是.NET 3.0及以上版本,还可以使用LINQ的AddRange方法,如下:

var array = new string[] { "test" }.ToList();

var array1 = new string[] { "test" }.ToList();

array.AddRange(array1);

var result = array.ToArray();

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/905479.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号