← back to index

S2374 — Signed types should be preferred to unsigned ones

Language: VB.NET  |  Type: CODE_SMELL  |  Severity: Critical

Tags: pitfall

Why is this an issue?

Unsigned integers have different arithmetic operators than signed ones - operators that few developers understand. Therefore, signed types should be preferred where possible.

Noncompliant code example

Module Module1
    Sub Main()
        Dim foo1 As UShort   ' Noncompliant
        Dim foo2 As UInteger ' Noncompliant
        Dim foo3 As ULong    ' Noncompliant
    End Sub
End Module

Compliant solution

Module Module1
    Sub Main()
        Dim foo1 As Short
        Dim foo2 As Integer
        Dim foo3 As Long
    End Sub
End Module