S2757 — Non-existent operators like "=+" should not be used

Language
VB.NET
Type
Bug
Severity
Major

Why is this an issue?

Using operator pairs (=+ or =-) that look like reversed single operators (+= or -=) is confusing. They compile and run but do not produce the same result as their mirrored counterpart.


Dim target As Integer = -5
Dim num As Integer = 3

target =- num ' Noncompliant: target = -3. Is that the intended behavior?
target =+ num ' Noncompliant: target = 3

This rule raises an issue when =+ or =- are used without any space between the operators and when there is at least one whitespace after.

Replace the operators with a single one if that is the intention


Dim num As Integer = 3

target -= num  ' target = -8

Or fix the spacing to avoid confusion


Dim num As Integer = 3

target = -num  // target = -3

↑ Back to top