IntPtr到Int - C#

时间:2014-12-10 15:49:21

标签: c# int intptr uint

我有这段代码:

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

返回以下错误:

  

“无法将类型'intptr'显式转换为'int'。显式   存在转换(您是否错过了演员?)“

任何关于解决这个问题的真正指导都会受到赞赏,这次使用这个工具会让我感到很困扰。 此外,如果这是一个重复的问题,我很抱歉,经过多次Google搜索,我无法找到简单的修复/解决方案。

2 个答案:

答案 0 :(得分:2)

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

var buffer = new byte[((IntPtr) XSC.header.StringsSize).ToInt64()];

答案 1 :(得分:0)

您可以尝试这样:

int numInt = intPtrVar.ToInt32();