Como: Otimizar o armazenamento de números inteiros positivo com tipos não assinados
Se você tiver uma variável que contenha somente valores positivos (ou 0), e esses valores nunca ultrapassam 4,294,967,295, você pode declarar a variável como UInteger no lugar de Long.
A vantagem de utilizar UInteger é que os tipos inteiro de dado de 32-bits Integer e UInteger são os tipos de dado mais eficientes em plataformas de 32-bits, e possibilitam desempenho ótimo para sua aplicação.
Você pode usar uma variável Integer se seus valores positivos não ultrapassam 2,147,483,647.
Para declarar um inteiro somente como valores positivos
Declare a variável As UInteger.O exemplo a seguir ilustra isto:
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
Você pode testar a função memoryRequired com o seguinte código:
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
Cuidado: O UInteger tipo de dados não é parte do CLS (Common Language Specification) (CLS), para que o código compatível com CLS não pode consumir um componente que o utiliza.
Consulte também
Tarefas
Como: Chamar uma função do Windows que leva os tipos não assinados
Referência
Resumo de tipo de dados (Visual Basic)