您的位置:首页 > 编程语言 > C#

C# 用递归方法取多个数组的相同元素

2015-07-04 16:20 405 查看
取两个数组中相同元素可以使用一个方法:

<span style="font-size:14px;">string[] tmpArray = array1.Intersect(array2).ToArray();</span>


取多个数组中相同的项:

首先,把所有数组加入List<string[]>中,再把这个参数传入下面的方法里面即可。

<span style="font-size:14px;">        string[] resultArray = null;
/// <summary>
/// 递归寻找几个数组中共同包含的项
/// </summary>
/// <param name="list">数组表</param>
private void getSameItems(List<string[]> list)
{
if (list.Count == 1)
{
resultArray = list[0];
return;
}
List<string[]> tmp = new List<string[]>();
for (int i = 0; i < list.Count-1; i++)
{
if (list[i].Length == 0 || list[i + 1].Length == 0) continue;
string[] tmpArray = list[i].Intersect(list[i + 1]).ToArray();
tmp.Add(tmpArray);
}
if (tmp.Count > 1) getSameItems(tmp);
else if (tmp.Count == 0) resultArray = null;
else resultArray = tmp[0];
}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: