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