结构中的Const数组大小
本文关键字:数组 Const 结构 | 更新日期: 2023-09-27 18:19:29
我需要能够执行以下操作:
public struct entry_h
{
public ulong fileid;
public byte hash[20];
};
类似于C/C++
我正在对结构执行不安全的指针强制转换,这就是为什么我需要能够执行此操作。:/
entries[i].ehash = *(entry_h*)(src + header_size + (R64(pup->entryCount) * 0x20) + (i * 0x20));
如果您在C#中使用unsafe关键字,structs通过fixed关键字支持固定大小的缓冲区。
http://msdn.microsoft.com/en-us/library/zycewsya%28v=vs.80%29.aspx
示例:
public fixed byte hash[20];
否则,通过安全代码,它将是这样的:
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
public byte[] hash;