IntPtr到Int - C#

问题描述 投票:1回答:2

我有这个代码:

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

返回以下错误:

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

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

c# int intptr uint
2个回答
2
投票

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

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

0
投票

你可以尝试这样:

int numInt = intPtrVar.ToInt32();
© www.soinside.com 2019 - 2024. All rights reserved.