我有一个自定义类型MyType
,其函数MyBoolFunction(string)
返回true或false.
我有一大堆MyType
对象MyTypeList
.
我有一个字符串对象列表StringList
.
我想获得的子集MyTypeList
,其中myTypeList.MyBoolFunction(arg)
的至少一个值是真arg
为arg
射程达StringList
.
我想我应该可以用C#lambda表达式做到这一点.
我想象这样的事情(伪代码)
MyTypeList.Where(x => (x.MyBoolFunction(arg)==true for some arg in StringList);
Run Code Online (Sandbox Code Playgroud)
这可能吗?我怎样才能做到这一点?
尝试使用Enumerable.Any
:
var query = MyTypeList.Where(x => StringList.Any(arg => x.MyBoolFunction(arg)));
Run Code Online (Sandbox Code Playgroud)