Возможно, если вместо этого вы загрузите данные CSV в DataTable:
Dim dt as New DataTable
dt.Columns.Add("Name")
dt.Columns.Add("Age", GetType(Int32))
For Each filepath in tenKFilePaths
For Each line in File.ReadAllLines(file)
Dim bits = line.Split(","c)
dt.Rows.Add(bits(0), Convert.ToInt32(bit(1))
Next line
Next filepath
Тогда вы сможете сохранить весь лот до xml:
dt.WriteXml("c:\temp\my.xml")
Выпить кофе, перезагрузиться et c прочитайте их снова и продолжайте с того места, где вы остановились:
Dim dt2 as New DataTable
dt2.ReadXml("c:\temp\my.xml")
С необработанными таблицами данных работать немного сложнее, потому что в итоге вы получаете доступ к их строкам и данным столбцов с помощью индексации строк и приходится много разыгрывать - довольно хромая. Есть лучший способ их использования, так как Visual Studio может создавать пользовательские классы, которые наследуются от базовых таблиц данных и предлагают множество функциональных возможностей, которые устраняют всю неловкость при работе с таблицами данных как очень общая вещь c. Так же, как дизайнер форм создает форму пользовательского интерфейса, которая наследуется от формы, дизайнер наборов данных создает настраиваемые таблицы данных, которые наследуются от базы
Если вы добавляете в проект новый объект типа DataSet, дважды щелкните его, чтобы открыть что-то вроде дизайнер баз данных. Щелкните правой кнопкой мыши по этой поверхности и выберите «Добавить DataTable», «Добавить столбцы» с соответствующими им типами данных и т. Д. c - это эквивалент вашего класса Session_Csv_File с его свойствами и полями. Дважды щелкните по нему, и вы можете добавить код et c - если ваш session_csv_file имеет пользовательские методы, вы можете перенести их код в строку пользовательских данных
Представьте, что я создал новый объект данных в DataSet и назвал его SessionCsvFiles. Представьте себе, что я добавил столбец «Имя и возраст» и добавил пользовательский метод BlahBlah
. Тогда я мог бы сказать в коде такие вещи, как:
Dim dt as New MyCustomDataSet.SessionCsvFilesDataTable
'it's like making a new SessionCsvFile
Dim r = dt.NewSessionCsvFilesRow()
'It's like setting your properties
r.Name = csvBits(0)
r.Age = Convert.ToInt32(csvBits(1))
'It's like adding your file to the List
dt.Add(r)
Теперь у вас есть практически то же самое, что у вас было раньше - набор объектов, представляющих вещи о ваших CSV-файлах. Разница в том, что в этом маршруте уже есть встроенный способ сохранения всех свойств и коллекции в xml и повторного чтения