Чтобы использовать мой пример, вы должны создать псевдоним для сборки Microsoft.VisualBasic.Filesystem:
Imports VB6FileSystem = Microsoft.VisualBasic.FileSystem
Imports VB = Microsoft.VisualBasic
Затем в вашем коде:
// make sure the read buffer is big enough
string testReadData = "".PadRight(128);
int filenumber = VB6FileSystem.FreeFile();
VB6FileSystem.FileOpen(filenumber, @"c:\temp\test.dat", VB.OpenMode.Random, RecordLength: 128);
// Write some test data ....
VB6FileSystem.FilePut(filenumber, "Testdaten 1", 1, true);
VB6FileSystem.FilePut(filenumber, "Testdaten 4", 4, true);
VB6FileSystem.FilePut(filenumber, "Testdaten 14", 14, true);
// Read some data ...
VB6FileSystem.FileGet(filenumber, ref testReadData, 14, true);
VB6FileSystem.FileClose(filenumber);
Конечно, вы должныпроанализировать старую структуру записи (vb6 знает «строки фиксированной длины», в то время как C # на самом деле их не знает ...) и как данные представлены в файле.Возможно, вам следует прочитать Byte Array в c #, чтобы обрабатывать двоичные данные (например, даты, числа ...) «вручную».
Что я не пробовал, так это метод FileGetObject для использования байтового массива в ссылочной переменной,Не стесняйтесь выполнять задание.