要检查一组对象中的任何一个属性是否与一组字符串中的任何一个属性匹配的lambda表达式是什么?

本文关键字:属性 一组 任何一 lambda 是什么 表达式 是否 对象 检查 字符串 | 更新日期: 2023-09-27 18:06:17

我有一个对象列表myObjects,每个对象都有一个"Status"属性。我有一个字符串列表myStrings。我想要一个条件来评估myObjects的任何成员是否具有与mystring中的任何成员匹配的状态。我觉得应该有一个linq方法/lambda表达式来计算这个,但我不像我希望的那样熟悉它们。我正在尝试这样做:

(myObjects.Any(x =>
            x.Status.Equals(myStrings.Any(x.Status))

要检查一组对象中的任何一个属性是否与一组字符串中的任何一个属性匹配的lambda表达式是什么?

myObjects.Any(x => myStrings.Contains(x.Status))

您可以使用Intersect + Any:

bool anyIntersection = myObjects.Select(x => x.Status).Intersect(myStrings).Any();