Compartir a través de


Cómo: Optimizar el almacenamiento de enteros positivos con tipos sin signo (Visual Basic)

Si tiene una variable que contiene sólo valores positivos (o 0) y estos valores nunca superan 4.294.967,295, puede declarar la variable como UInteger en lugar de Long.

La ventaja de utilizar UInteger es que los tipos Integer y UInteger enteros de 32 bits son los tipos de datos más eficaces en plataformas de 32 bits, y proporcionan un rendimiento óptimo para su aplicación.

Puede utilizar una variable Integer si sus valores positivos nunca superan 2.147.483,647.

Para declarar un entero con sólo valores positivos

  • Declare la variable como As UInteger. Esto se ilustra en el siguiente ejemplo:

    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
    

    Puede probar la función memoryRequired con el código siguiente:

    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
    
    Nota de precauciónPrecaución

    El tipo de datos UInteger no forma parte de Common Language Specification (CLS), por lo que el código conforme a CLS no puede utilizar un componente que lo utiliza.

Vea también

Tareas

Cómo: Llamar a una función de Windows que adopta tipos sin signo (Visual Basic)

Referencia

Resumen de tipos de datos (Visual Basic)

Integer (Tipo de datos, Visual Basic)

UInteger (Tipo de datos)