如何使用 LINQ 从列表中过滤列中的值?

How to use LINQ to filter values in a column from a list?

我有一个带有 bindingList 的 dataGridView 作为数据源。我想过滤 dataGridView 以仅显示列表中给定列值中的行。例如,列表具有值 1、2 和 3。现在我希望 dataGridView 仅显示列 ID 值为 1、2 或 3 的行。如何使用 LINQ 实现此目的?

我只知道如何使用 LINQ 仅使用一个值进行过滤,而不是列表:

datasource.Where(s => s.ID == 1 || s.Id == 2 || s.Id == 3).ToList();

我知道这行得通,但如果我不知道列表中的值是什么,它就不会行得通。

您可以在 .Where() 中使用以下代码根据列表检查值:

datasource.Where(s => list.Contains(s.ID)).ToList();