3
コードベースのパフォーマンス/メモリにとって重要なデータ構造を試しています。構造体で定義されているバイトにすばやくアクセスしたいと思います。しかし、インデクサーを使用して操作している構造にアクセスする方法がわかりません。C#でインデクサーを使用して "this"ポインタ/参照にアクセスする
[Serializable]
[StructLayout(LayoutKind.Sequential)]
public struct Foo
{
[SerializeField]
private byte a, b, c;
public unsafe byte this[byte index]
{
get
{
//omitted safety checks
//this is a no, no
byte* addr = (byte*)&this;
return addr[index];
}
}
}
をはい、私は、構文が間違っを得ました。チャームのような作品!ありがとうございました! – Kraken
私はこれのパフォーマンス上の利点を理解していません。 – ventiseis
これは私が測定したいものです:]。また、標準のバイト配列を使用した場合、メモリ内のサイズは上記のコードよりも大きくなります。 – Kraken