Я хочу взять таблицу, представленную многомерным строковым массивом (имена столбцов в другом массиве), и использовать инструкцию SQL SELECT для получения подмножества строк.
Поймать:
Нужно ли:
или это более простое решение? Например. преобразование многомерного массива в DataTable и последующее выполнение SQL на этом объекте?
Я думаю, вы могли бы использовать DataTable для этого. Он обычно используется для хранения данных, полученных из базы данных, но вы можете заполнить их вручную. Наилучшая часть - метод DataTable.Select(), который позволяет вам писать только предложение WHERE запроса и возвращать соответствующие строки.
Вы можете создать собственное дерево выражений, представляющее запрос, который вводит пользователь. Так работает Линк под капотом. Если бы вы могли привести пример того, что вы пытаетесь достичь, это может помочь и тем, что вы собираетесь писать приложение в С# для веб, например.
Например, если вы позволяете своим пользователям вводить новые строки, в каком-то графическом интерфейсе к таблице, вы могли бы сделать это в datagrid и включить фильтр столбцов для достижения упомянутого выше результата?
В веб-приложении у вас может быть окно ввода над каждым столбцом. Пользователи могут вводить данные для фильтрации этого столбца.