string[] one={"my", "5", "two", "array", "hey?", "good", "day"};
string[] two={"hello!", "how", "good", "day", "us", "very", "two", "hard", "learn", "it"};
例如:我有上面的这些数组,我想比较它们,比较之后从string []两个中删除相同的值。因此,当我编译代码时,我的数组将是这样;
string[] one={"my", "5", "two", "array", "hey?", "good", "day"};
string[] two={"hello!", "how", "us", "very", "hard", "learn", "it"};
注意:对不起,我对此一无所知。
答案 0 :(得分:1)
只需在Where
语句中使用Contains
,Linq
,然后再使用ToArray
简单来说,
它通过检查数组two
是否不包含两个元素来过滤数组one
将输出转换回数组
将其分配回您的变量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.ToArray(IEnumerable) Method
从IEnumerable创建数组。