我有一个名为 myItems
的 MyItem
对象列表,如下所示:
public class MyItem{
public int[] category_ids;
public string name;
}
List<MyItem> myItems;
我想使用所选类别列表来过滤对象列表,以便过滤后的列表包含任何过滤器类别 ID:
int[] filter = { 1, 5, 6, 9 };
如何在一行中使用 LINQ 来做到这一点? (如果有可能的话,我无法理解它!) 我想象的大概是这样的:
IEnumerable<MyItem> filtered = myItems.Where(item => item.category_ids.Contains(xxx));
最佳答案
var filtered = myItems.Where(x => x.category_ids.Intersect(filter)
.Any());
关于c# - 使用 LINQ 如何检查一个数组和另一个数组中的数字实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12726876/