【发布时间】:2010-02-25 04:45:36
【问题描述】:
假设我有这两个数组:
string[] arr1 = new string[2]{"Hello", "Stack"}
string[] arr2 = new string[2]{"Stack", "Overflow"}
如何合并它们以获得第三个数组,如下所示:string[3]{"Hello", "Stack", "Overflow"}?
【问题讨论】:
标签: c#
假设我有这两个数组:
string[] arr1 = new string[2]{"Hello", "Stack"}
string[] arr2 = new string[2]{"Stack", "Overflow"}
如何合并它们以获得第三个数组,如下所示:string[3]{"Hello", "Stack", "Overflow"}?
【问题讨论】:
标签: c#
string[] arr1 = new string[2]{"Hello", "Stack"};
string[] arr2 = new string[2] { "Stack", "Overflow" };
var arr3 = arr1.Union(arr2).ToArray<string>();
【讨论】:
using 指令中也是如此。
string[] arr3 = arr1.Union(arr2).ToArray();
(如果您有 LINQ 和 using System.Linq; 指令)
【讨论】:
ar2.Union<string>(ar1, StringComparer.CurrentCultureIgnoreCase).ToArray<string>();
【讨论】:
这样做的旧方法
List<string> temp = arr1.ToList<string>();
foreach (string s in arr1)
{
if (!arr2.Contains(s))
{
temp.Add(s);
}
}
String[] arr3 = temp.ToArray<string>();
新的更好的方法,使用 .Net Framework 3.5 + LINQ
string[] arr3 = arr1.Union(arr2).ToArray();
【讨论】:
ToList 不可用。请改用List<string> temp = new List<string>(arr1);。