Как использовать LINQ для фильтрации значений в столбце из списка?

У меня есть dataGridView с bindingList в качестве источника данных. Я хочу отфильтровать dataGridView, чтобы отображались только те строки, которые имеют значение данного столбца из списка. Например, список имеет значения 1, 2 и 3. Теперь я хочу, чтобы dataGridView отображал только те строки, которые имеют в идентификаторе столбца значения 1, 2 или 3. Как добиться этого с помощью LINQ?

Я знаю только, как использовать LINQ для фильтрации только по одному значению, а не по списку:

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

Я знаю, что это работает, но это не сработает, если я не знаю, какие значения будут в списке.


person TK-421    schedule 26.05.2020    source источник
comment
Вы пытались найти существующие вопросы, прежде чем опубликовать это, а затем ответить?   -  person Pavel Anikhouski    schedule 26.05.2020
comment
Отвечает ли это на ваш вопрос? Как отфильтровать список на основе другого списка, используя Линк?   -  person Pavel Anikhouski    schedule 26.05.2020


Ответы (1)


Вы можете использовать следующий код в .Where() для проверки значений по списку:

datasource.Where(s => list.Contains(s.ID)).ToList();
person TK-421    schedule 26.05.2020