Написание собственного парсера CSV нелегко. Есть много крайних случаев, с которыми вы столкнетесь.
Чтение: http://www.secretgeek.net/csv_trouble.asp
@ Ответ spender, вероятно, самый близкий, который вы получите, используя встроенный материал.
Дайте CsvHelper попытку (библиотека, которую я поддерживаю). Это доступно на NuGet. Это очень легкий. Если вам нужен небольшой кусочек кода, вы можете просто скопировать исходный код CsvParser.cs и немного его изменить. Есть в основном одна функция, которая выполняет весь синтаксический анализ, это чуть более 100 строк, включая комментарии. Если вы хотите одну рутину, это было бы хорошо, чтобы захватить.
Если вы используете библиотеку CsvHelper, чтение в коллекцию объектов пользовательских классов будет простым.
var streamReader = // Create StreamReader to your CSV file.
var csvReader = new CsvReader( streamReader );
var myObjects = csvReader.GetRecords<MyObject>();