如何在VB.NET中将整数作为unsigned参数传递?

时间:2010-07-16 16:28:05

标签: vb.net parameters unsigned

我在我的VB.NET代码中使用了库调用setInstance(ByVal instance As UInteger)。我需要传递的参数是Integer。有什么我需要做的事情来将整数参数转换为无符号整数吗?这个数字保证是正数且小于10。

3 个答案:

答案 0 :(得分:7)

像这样...

Dim MyInt As Int32 = 10
Dim MyUInt As UInt32 = CUInt(MyInt)
setInstance(MyUInt)

答案 1 :(得分:3)

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 而不检查 - 不是例外。

答案 2 :(得分:1)

您可以致电CUint将变量转换为UInteger