62,025
社区成员
发帖
与我相关
我的任务
分享
#region 计算两个字符串数组之间交集或差集
/// <summary>
/// 计算两个数组之间交集或差集
/// </summary>
/// <param name="arrA">数组A</param>
/// <param name="arrB">数组B</param>
/// <param name="IntersectionOrExcept">要返回交集还是差集(0:交集,1:差集)</param>
/// <returns>返回数组中是数组A里的元素</returns>
static public string[] ReturnIntersectionOrExcept(string[] arrA, string[] arrB, int IntersectionOrExcept)
{
ArrayList arrC = new ArrayList();
bool Flag = false;//是否相等标识
if (arrA.Length > 0)
{
if (IntersectionOrExcept == 0)//交集
{
for (int i = 0; i < arrA.Length; i++)
{
for (int j = 0; j < arrB.Length; j++)
{
if (arrA[i] == arrB[j])
{
arrC.Add(arrA[i]);
break;
}
}
}
}
else if (IntersectionOrExcept == 1)//差集
{
for (int i = 0; i < arrA.Length; i++)
{
for (int j = 0; j < arrB.Length; j++)
{
if (arrA[i] == arrB[j])
{
Flag = true;
break;
}
else
{
Flag = false;
}
}
if (!Flag)
{
arrC.Add(arrA[i]);
}
}
}
}
return (string[])arrC.ToArray(typeof(String));
}
#endregion