次のように定義された値の型があるとします。
[StructLayout(LayoutKind.Explicit, Size=40)]
public struct Storage
{
}
このクラスの唯一の目的は、40 バイトのメモリを占有することです。n番目のバイトを簡単に読み取る方法はありますか? たとえば、次の関数を書きたいと思います。
byte ReadFromStorage(ref Storage s, int n)
{
}
書き込みバージョンの場合も同様です。この関数のパフォーマンスを次の C コードにできるだけ近づける必要があります。
return *((char*)s + n);