使用linq确定ListB中是否存在任何ListA?

Ama*_*son 5 c# linq list

我正在尝试使用PredicateBuilder来编写动态linq查询.在我的对象中,我有一个"状态"列表,我有另一个我要搜索的状态列表.

所以我需要能够查看我的object.Status属性(列表)并查看它是否包含我的查询列表中的任何项目.

我一直在使用.Any()和.Contains(),但似乎无法找到正确的语法.

我究竟做错了什么?以下是我尝试过的一些内容,但没有一个具有正确的语法.

myObject.Statuses.Contains(myStatusList);

myObject.Statuses.Any(myStatusList);

myObject.Statuses.Any(s => s == myStatusList);
Run Code Online (Sandbox Code Playgroud)

Rog*_*mbe 9

got.Any(x => want.Contains(x))
Run Code Online (Sandbox Code Playgroud)

然而,在进一步思考时,我会编写一个ContainsAny扩展方法,以使其更具可读性.实施可能是相同的(虽然want.Intersect(got).Any()也可以).


Ry-*_*Ry- 5

你的意思是:

myObject.Statuses.Any(s => myStatusList.Contains(s));
Run Code Online (Sandbox Code Playgroud)

?这也是等价的:

myStatusList.Any(s => myObject.Statuses.Contains(s));
Run Code Online (Sandbox Code Playgroud)