在 Python 2 中一切正常,但在 Python 3 中,它不起作用。我使用 Gohlke 的 Python 包中的 whl 安装了包。问题是,在 Python 3 中,所有整数都是长整数。当传递给 C# 函数时,它们作为 64 位整数传递,这会导致将 Int32 作为参数的函数失败并显示错误“没有方法与给定参数匹配”。我尝试使用 Convert.ToInt32() 将其转换为 Int32,但这会返回一个 Python int,它又是 64 位。
那么,问题来了,如何在 Python3 中正确使用 Int32?
哦,当我这样尝试时,它出现了溢出错误:
>>> print(Int32(2))
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
print(Int32(2))
OverflowError: value too large to convert