C# 使用“CreateViewAccessor.Read”和“Write”

C# 使用“CreateViewAccessor.Read”和“Write”,c#,memory-mapped-files,C#,Memory Mapped Files,我正在尝试编写一种用于编辑Playstation 1 ISO的十六进制编辑器,但我不确定如何使用CreateViewAccessor.Read和write。具体来说,我不知道第二个参数使用什么,out t结构。以下是我目前的代码: long offset = 0x0064773C; long length = 0x02; // Create the memory-mapped file. using (var mmf = MemoryMappedFile.CreateFromFile(

我正在尝试编写一种用于编辑Playstation 1 ISO的十六进制编辑器,但我不确定如何使用CreateViewAccessor.Read和write。具体来说,我不知道第二个参数使用什么,out t结构。以下是我目前的代码:

long offset = 0x0064773C;
long length = 0x02;

// Create the memory-mapped file.
using (var mmf =
    MemoryMappedFile.CreateFromFile(strFileName, FileMode.Open, "ISO"))
{
    using (var accessor = mmf.CreateViewAccessor(offset, length))
    {
        for (long i = 0; i < length; i++)
        {
            accessor.Read(i, out ???);
        }
    }
}
我从来没有真正理解out关键字,所以我不知道该怎么做

如果有人看到我以前的帖子,我决定用C和VS代替C++和QT。我知道C比C++好得多。

< p>读取方法是从映射中读取任何结构。以下是两个等效示例—一个使用内置ReadByte方法,另一个使用通用Read方法:

通常,out意味着调用方法提供数据作为输出

bytes[i] = accessor.ReadByte(i);
accessor.Read<byte>(i, out bytes[i]);