IntPtr到Int - C#
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IntPtr到Int - C#相关的知识,希望对你有一定的参考价值。
我有这个代码:
public uint StringsSize { get; set; }
byte[] buffer = new byte[(IntPtr) XSC.header.StringsSize];
返回以下错误:
“无法显式地将类型'intptr'转换为'int'。存在显式转换(您是否错过了转换?)”
任何关于解决这个问题的真正指导都会受到赞赏,这次使用这个工具会让我感到很困扰。另外,如果这是一个重复的问题,我很抱歉,在几次Google搜索后我无法找到简单的修复/解决方案。
答案
将IntPtr转换为int类型,如下所示:
var buffer = new byte[((IntPtr) XSC.header.StringsSize).ToInt64()];
另一答案
你可以尝试这样:
int numInt = intPtrVar.ToInt32();
以上是关于IntPtr到Int - C#的主要内容,如果未能解决你的问题,请参考以下文章
为啥/何时使用 `intptr_t` 在 C 中进行类型转换?