我在我的VB.NET代码中使用了一个库调用setInstance(ByVal instance As UInteger)
。我需要传递的参数是一个Integer
。我需要做些什么来将整数参数转换为无符号整数?这个数字保证是正数且小于10。
我在我的VB.NET代码中使用了一个库调用setInstance(ByVal instance As UInteger)
。我需要传递的参数是一个Integer
。我需要做些什么来将整数参数转换为无符号整数?这个数字保证是正数且小于10。
Like so...
Dim MyInt As Int32 = 10
Dim MyUInt As UInt32 = CUInt(MyInt)
setInstance(MyUInt)
CUInt或CType(x, UInt)允许转换为正整数。
x为负数时会抛出异常。
要将Int用作Uint,您可以使用一些技巧:
dim bb() = System.BitConverter.GetBytes(myInt)
dim MyUint = System.BitConverter.ToUInt32(bb, 0)
对于数组,还可以使用System.Buffer.BlockCopy。
如果您将编译器配置为禁用检查整数溢出(C#的默认设置),则可以使用CUInt来处理负值,而不会进行检查,也不会触发异常。
CUint
将变量转换为UInteger
。