Я пишу небольшое приложение для небольшой обработки некоторых ячеек в имеющемся у меня CSV-файле. Я понял, как читать и записывать файлы CSV с помощью библиотеки, которую я нашел в сети, но у меня возникли проблемы: библиотека анализирует файлы CSV в DataTable, но , когда я пытаюсь изменить ячейку таблицы , это не сохраняет изменения в таблице!
Ниже приведен код. Я разделил процесс на несколько переменных и переименовал некоторые вещи, чтобы было легче отлаживать этот вопрос.
Код
Внутри цикла:
string debug1 = readIn.Rows[i].ItemArray[numColumnToCopyTo].ToString();
string debug2 = readIn.Rows[i].ItemArray[numColumnToCopyTo].ToString().Trim();
string debug3 = readIn.Rows[i].ItemArray[numColumnToCopyFrom].ToString().Trim();
string towrite = debug2 + ", " + debug3;
readIn.Rows[i].ItemArray[numColumnToCopyTo] = (object)towrite;
После цикла:
readIn.AcceptChanges();
Когда я отлаживаю свой код, я вижу, что towrite формируется правильно и все в порядке, за исключением того, что строка не обновляется: почему она не работает? У меня такое ощущение, что я совершаю здесь простую ошибку: в последний раз, когда я работал с DataTables (довольно давно), у меня были похожие проблемы.
Если вам интересно, почему я добавляю еще одну запятую в towrite , это потому, что я объединяю поле адреса улицы с полем почтового индекса - надеюсь, это ничего не испортит.
Мой код немного грязный, так как я пытаюсь отредактировать только один файл, чтобы сделать небольшое исправление, извините.