Пусть библиотека разберется со всеми этими ничтожными деталями за вас! :-)
Проверьте FileHelpers и оставайтесь DRY - Don't Repeat Yourself - no need to re-invent the wheel a gazillionth time....
Вам нужно просто определить форму ваших данных - поля в вашей индивидуальной строке в CSV - с помощью публичного класса (и так хорошо продуманных атрибутов, таких как значения по умолчанию, замены NULL-значений и т.д.), направить движок FileHelpers на файл, и бинго - вы получите обратно все записи из этого файла. Одна простая операция - отличная производительность!
Официально я ничего не знаю, но вы действительно должны использовать существующие библиотеки. Вот одна, которую я нашел действительно полезной из CodeProject:
Если требуется только чтение CSV-файлов, то я рекомендую эту библиотеку: Fast CSV Reader
Если также необходимо создать CSV-файлы, то используйте эту библиотеку: FileHelpers
Оба из них являются свободными и opensource.
-121--586978-Я не знаю официального способа, но вы действительно должны использовать существующие библиотеки. Вот один я нашел действительно полезный из CodeProject:
http://www.codeproject.com/KB/database/CsvReader.aspx
-121--586974-В бизнес- приложения я использую проект Open Source на codeproject.com, CSVReader .
Он хорошо работает и имеет хорошую производительность. Есть некоторые бенчмаркинг на ссылку я предоставил.
Простой пример, скопированный со страницы проекта:
using (CsvReader csv = new CsvReader(new StreamReader("data.csv"), true))
{
int fieldCount = csv.FieldCount;
string[] headers = csv.GetFieldHeaders();
while (csv.ReadNextRecord())
{
for (int i = 0; i < fieldCount; i++)
Console.Write(string.Format("{0} = {1};", headers[i], csv[i]));
Console.WriteLine();
}
}
Как видите, с ним очень легко работать.
Если вам нужно только читать csv-файлы, то я рекомендую эту библиотеку: A Fast CSV Reader
Если Вам также необходимо сгенерировать csv-файлы, то используйте эту библиотеку: FileHelpers
Оба файла свободны и имеют открытый исходный код.