Search code examples
c#linqcollectionsfindcontain

Linq Find all items in collection from an other collection


I've an enum collection

    List<MyEnum> myEnums = new List<MyEnum>{MyEnum.Item1, MyEnum.Item2}

I've a object collection

List<MyObject> myObjects = MyObjects.GetMyObjects ();

MyObject have a property that is a list of MyEnum

myObjects[0].MyEnums  /* contain {MyEnum.Item1, MyEnum.Item5, MyEnum.Item6} */

I would like to find all myObjects which property myObject.MyEnums contain MyEnum.Item1 or MyEnum.Item2 (myEnums). Thks


Solution

  • Try this: myObjects.Where(m => m.MyEnums.Intersect(myEnums).Any());