Procedura: ottimizzare l'archiviazione di valori integer positivi con tipi senza segno
Aggiornamento: novembre 2007
Se si utilizza una variabile contenente solo valori positivi (oppure 0) che non superano mai 4.294.967.295, è possibile dichiarare la variabile come UInteger anziché Long.
Il vantaggio dell'utilizzo di UInteger è che i tipi di dati integer a 32 bit Integer e UInteger sono i più efficienti sulle piattaforme a 32 bit e garantiscono prestazioni ottimali dell'applicazione.
È possibile utilizzare una variabile Integer se i valori positivi non superano mai 2.147.483.647.
Per dichiarare una variabile integer con valori solo positivi
Dichiarare la variabile As UInteger. Questa condizione è illustrata nell'esempio che segue.
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
È possibile verificare la funzione memoryRequired con il seguente codice:
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
Attenzione: Il tipo di dati UInteger non fa parte delle specifiche Specifiche CLS (Common Language Specification) (CLS), pertanto un codice compatibile con le specifiche CLS non può utilizzare un componente che utilizza tale tipo di dati.
Vedere anche
Attività
Procedura: chiamare una funzione Windows che accetta tipi senza segno
Riferimenti
Riepilogo dei tipi di dati (Visual Basic)