Python 2中的一切都运行良好,但在Python 3中,它并不起作用。我使用Gohlke的Python软件包中的whl安装了软件包。问题是,在Python 3中,所有整数都很长。当传递给C#函数时,它们作为64位整数传递,这导致以Int32作为参数的函数失败并出现错误"没有方法匹配给定的参数"。我尝试使用Convert.ToInt32()将其转换为Int32,但它返回一个Python int,再次为64位。
所以,问题是,如何在Python3中正确使用Int32?
哦,当我像这样尝试时,它出现了OverflowError:
>>> print(Int32(2))
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
print(Int32(2))
OverflowError: value too large to convert
答案 0 :(得分:0)
需要从System:
加载Unint32或Int32import clr
clr.AddReference("System")
from System import UInt32, Int32
print(UInt32(2))
print(Int32(2))