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

Language
C#
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.


int target = -5;
int num = 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


int target = -5;
int num = 3;

target -= num;  // target = -8

Or fix the spacing to avoid confusion


int target = -5;
int num = 3;

target = -num;  // target = -3

↑ Back to top