Freigeben über


Gewusst wie: Optimieren der Speicherung von positiven ganzen Zahlen mit vorzeichenlosen Typen

Aktualisiert: November 2007

Wenn eine Variable nur positive Werte (oder 0) enthält und diese Werte nie größer als 4.294.967.295 sind, können Sie die Variable als UInteger statt als Long deklarieren.

Der Vorteil von UInteger ist, dass die 32-Bit-Ganzzahltypen Integer und UInteger die effizientesten Datentypen auf 32-Bit-Plattformen sind und eine optimale Leistung der Anwendung ermöglichen.

Sie können eine Integer-Variable verwenden, wenn die positiven Werte 2.147.483.647 nie übersteigen.

So deklarieren Sie eine ganze Zahl mit nur positiven Werten

  • Deklarieren Sie die Variable As UInteger. Dies wird anhand des folgenden Beispiels veranschaulicht:

    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
    

    Sie können die memoryRequired-Funktion mit dem folgenden Code testen:

    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
    
    Vorsicht:

    Der UInteger-Datentyp ist nicht Teil der CLS (Common Language Specification) (CLS), d. h. CLS-kompatibler Code kann keine Komponente verwenden, die diesen Datentyp nutzt.

Siehe auch

Aufgaben

Gewusst wie: Aufrufen einer Windows-Funktion, die vorzeichenlose Typen akzeptiert

Referenz

Datentyp: Zusammenfassung (Visual Basic)

Integer-Datentyp (Visual Basic)

UInteger-Datentyp