LINQ - array property contains element from another array
I have a object (product), with a property of type 'array'
e.g. product.tags = {"tag1","tag2","tag9"}I have an array of input tags to filter on.
... but this is not quite working:
List<string> filterTags = new List<string>() { "tag1", "tag3" };
var matches = from p in products
开发者_如何转开发where p.Tags.Contains(filterTags)
select p;
Any recommendations? Thanks.
What is the Contains
really meant to achieve? Do all items in Tags
need to exist in filterTags
? Or at least one of them? For the latter use Any
and for the former use All
. Your where
line would change to:
where p.Tags.Any(tag => filterTags.Contains(tag))
or
where p.Tags.All(tag => filterTags.Contains(tag))
精彩评论