Как передать целое число в качестве параметра без знака в VB.NET? - PullRequest
6 голосов
/ 16 июля 2010

Я использую библиотечный вызов setInstance(ByVal instance As UInteger) в своем коде VB.NET . Параметр, который мне нужно передать, это Integer. Что мне нужно сделать, чтобы преобразовать целочисленный параметр в целое число без знака? Число гарантированно будет положительным и меньше 10.

Ответы [ 3 ]

7 голосов
/ 16 июля 2010

Вот так ...

Dim MyInt As Int32 = 10
Dim MyUInt As UInt32 = CUInt(MyInt)
setInstance(MyUInt)
3 голосов
/ 16 июля 2010

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 с отрицательными значениями без проверки - не исключение.

1 голос
/ 16 июля 2010

Вы можете вызвать CUint, чтобы преобразовать переменную в UInteger.

...