结构中的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));

结构中的Const数组大小

如果您在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;