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)