Пока вы можете разместить все данные в памяти, лучше хранить их все и сортировать в памяти, а не записывать в файл.Концепция сортировки данных в файле, как правило, решается путем «чтения их в память, сортировки и повторной записи».
Что касается записи файла CSV, то на самом деле это не так сложно.Мне нравится использовать StringBuilder для добавления в каждое из полей каждой строки, а затем, когда у меня есть строка, я добавляю эту строку в файл.Для заголовков вы либо жестко их кодируете, если это уместно, либо получаете их из любого источника, который у вас есть, если он динамический.Разве вы не знаете, как записать в файл?Я думаю, что методы File.WriteAllText () и File.AppendText () - это все, что вам нужно для этого.
Просто общий совет, как вы и спросили, заключается в том, что вместо добавления элементов в список, поскольку вы в конечном итоге отсортируете их все, это добавьте их в SortedList, чтобы они сортировались по ходу работы.Затем, когда вы закончите, вы просто получите их по одному, и они уже в порядке.