从字符串数组中删除项目

Sac*_*nth 3 c# lambda

我有两个字符串数组

string[] a = ...
string[] b = ...
Run Code Online (Sandbox Code Playgroud)

我想删除b中也存在的任何项目,或者返回一个只包含仅存在于a中的项目的新数组.

所以,例如,如果

a={"a", "b", "c"};
Run Code Online (Sandbox Code Playgroud)

和,

b={"b"}
Run Code Online (Sandbox Code Playgroud)

那么结果应该是

{"a", "c"}
Run Code Online (Sandbox Code Playgroud)

是否有一个整洁的lambda表达式或Linq或我可以用来做这件事?

谢谢,

萨钦

cad*_*ll0 16

我相信Except会做你想要的.请记住,Except与大多数LINQ扩展方法一样,不会修改现有集合.它将返回一个新的集合.

c = a.Except(b)

  • `Except`返回一个`IEnumerable <T>`.如果你想要一个数组,你需要在该结果上调用`ToArray()`. (2认同)