gpt4 book ai didi

c# - 在 C# 中使用索引器访问 "this"指针/引用

转载 作者:行者123 更新时间:2023-11-30 14:46:58 26 4
gpt4 key购买 nike

我正在为代码库的性能/内存关键部分试验数据结构。我想快速访问结构中定义的字节。但是,我不确定如何使用索引器访问我正在操作的结构。

[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];
}
}
}

最佳答案

你只能在 fixed block 中做你想做的事情,即:

fixed (Foo* foo = &this)
{
byte* addr = (byte*)foo;
return addr[index];
}

关于c# - 在 C# 中使用索引器访问 "this"指针/引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47155502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com