C# 相当于 Java 内存映射方法

C# equivalent of Java Memory mapping methods

在将 Java 项目转换为 C# 时,我遇到了以下问题:

RandomAccessFile raf = new RandomAccessFile(fileName, "r");
FileChannel channel = raf.getChannel();
MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, length);

我对内存映射的概念不熟悉,我在C#中找到了一个MemoryMappedFile class,但不知道如何像在Java中那样正确使用它上面的代码(MappedByteBuffer用于获取一个大的二进制文件,大约600-700MB)。

谁能告诉我如何正确翻译上面的文章?

MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(fileName, FileMode.Read);
using (MemoryMappedViewStream vs = mmf.CreateViewStream()) {
    // perform stream operations
}

MemoryMappedViewStream 是内存上的薄薄一层。