/// <summary>
/// 两个string[]数组 取 交集 或 差集
/// </summary>
/// <param name="arr1"></param>
/// <param name="arr2"></param>
/// <param name="isIntersected">true取交集 false取差集</param>
/// <returns></returns>
public static String[] StringScreen(String[] arr1, String[] arr2, bool isIntersected)
{
int len = arr1.Length > arr2.Length ? arr1.Length : arr2.Length;
int o = 0;
String[] result = new String[len];
Dictionary<String, Boolean> map = new Dictionary<String, Boolean>();
foreach (String str1 in arr1)
{
if (!map.ContainsKey(str1))
{
map[str1] = false;
}
}
foreach (String str2 in arr2)
{
if (str2 != null && !str2.Equals(""))
{
if (map.ContainsKey(str2))
{
map[str2] = true;
}
else
{
map[str2] = false;
}
}
}
foreach (String entry in map.Keys)
{
if (map[entry] == isIntersected)
{
result[o] = entry;
o++;
}
}
String[] res = new string[o];
for (int r = 0; r < o; r++)
{
res[r] = result[r];
}
return res;
}
【代码笔记】【c#】两个string[]数组 取 交集 或 差集
最新推荐文章于 2022-02-20 08:45:52 发布