1

我有这个代码:

public uint StringsSize { get; set; }
byte[] buffer = new byte[(IntPtr) XSC.header.StringsSize];

返回以下错误:

“无法将类型 'intptr' 显式转换为 'int'。存在显式转换(您是否缺少强制转换?)”

任何有关解决此问题的真正指导将不胜感激,使用此工具曾多次困扰我.. 另外,如果这是一个重复的问题,我深表歉意,经过几次 Google 搜索后,我无法找到简单的修复/解决方案。

4

2 回答 2

3

将 IntPtr 转换为 int 类型,如下所示:

var buffer = new byte[((IntPtr) XSC.header.StringsSize).ToInt64()];
于 2014-12-10T15:51:38.180 回答
0

你可以这样尝试:

int numInt = intPtrVar.ToInt32();
于 2017-12-18T14:20:38.610 回答