Практическое руководство. Оптимизация хранения положительных целых чисел с беззнаковыми типами (Visual Basic)
Если имеется переменная, содержащая только положительные значения (или 0), и эти значения никогда не превышают 4,294,967,295, то можно объявить переменную как UInteger вместо Long.
Преимуществом использования UInteger является 32-разрядное целое число типов Integer и UInteger, они являются наиболее эффективными типами данных в 32-разрядных платформах и обеспечивают оптимальное быстродействие приложения.
Переменную Integer можно использовать, если положительные значения никогда не превышают 2,147,483,647.
Чтобы объявить целое число с только положительными значениями
Объявите переменную As UInteger. Это показано в приведенном ниже примере.
Public Function memoryRequired(ByVal m As UInteger) As UInteger Static r As UInteger = 0 Try r += m Catch eo As System.OverflowException r = 0 Catch ex As System.Exception MsgBox("Incrementing required memory causes """ & ex.Message & """") End Try Return r End Function
Можно проверить функцию memoryRequired с помощью следующего кода:
Public Sub consumeMemoryRequired() Dim m1 As UInteger = UInteger.MaxValue - 100 Dim m2 As UInteger = 100 MsgBox("Max = " & CStr(UInteger.MaxValue) & vbCrLf & CStr(m1) & " -> " & CStr(memoryRequired(m1)) & vbCrLf & "+ " & CStr(m2) & " -> " & CStr(memoryRequired(m2)) & vbCrLf & "+ 1 -> " & CStr(memoryRequired(1))) End Sub
Предупреждение
Тип данных UInteger не является частью Спецификация CLS (CLS), поэтому в CLS-совместимом коде нельзя использовать компонент, который его использует.
См. также
Задачи
Ссылки
Сводка типов данных (Visual Basic)