A critical question is whether the CSV files you want to read always have the same number of columns. If the structure of the files is always the same, you can use Linq to parse the file into a collection of IEnumerables that will correspond to Rows.
Or, you can create a pre-defined "schema" Class to parse/map the data into.
If the structure of each file varies, then you probably want results in a DataTable ... for that there is a well-tuned old library, FileHelpers, that will "walk the dog" for you: [
^].
See this for an example of using FileHelpers: [
^].