A_DIRECTORY { public uint VirtualAddress; public uint Size; } public struct IMAGE_OPTIONAL_HEADER { public const int IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16; public ushort Magic; //... public uint NumberOfRvaAndSizes; public IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; } 在 C# 中这样定义结构中的数组是错误的,会在编译时获得一个 CS0650 错误: 以下为引用: error CS0650: 语法错误,错误的数组声明符。若要声明托管数组,秩说明符应位于变量标识符之前 如果改用 C# 中引用类型的类似定义语法,如 以下内容为程序代码: public struct IMAGE_OPTIONAL_HEADER { public const int IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16; public ushort Magic; //... public uint NumberOfRvaAndSizes; public IMAGE页码:[1] [2] [3] [4] [5] [6] [7] [8] 第2页、共8页 |