string[] one={"my", "5", "two", "array", "hey?", "good", "day"};
string[] two={"hello!", "how", "good", "day", "us", "very", "two", "hard", "learn", "it"};
例如:我有上面这些数组,我想对它们进行比较,比较后从字符串[]中删除相同的值。所以,当我编译代码时,我的数组将是这样的;
string[] one={"my", "5", "two", "array", "hey?", "good", "day"};
string[] two={"hello!", "how", "us", "very", "hard", "learn", "it"};
注意:对不起,我对此没有任何想法。
只需在Linq
语句中使用Where
、Contains
,然后使用ToArray
简单来说,
-
它通过检查数组
one
是否不包含两个的每个元素来过滤数组two
-
将输出转换回阵列
-
将其返回给您的变量
two
示例
string[] one={"my", "5", "two", "array", "hey?", "good", "day"};
string[] two = { "hello!", "how", "good", "day", "us", "very", "two", "hard", "learn", "it" };
two = two.Where(x => !one.Contains(x)).ToArray();
Console.WriteLine(string.Join(",", two));
注意,这是区分大小写的
输出
hello!,how,us,very,hard,learn,it
或者更高效的方法是使用Except
,我完全忘记了(多亏了评论)
two = two.Except(one).ToArray();
枚举。除了方法
生成两个序列的集合差。
Enumerable.Where方法
基于谓词筛选值序列。
枚举。包含方法
确定序列是否包含指定的元素。
Enumerable.ToArray(IEnumerable)方法
从IEnumerable创建一个数组。