The analyzer has found that both operands used in either the '??'' or '??=' operator are the same. Most likely, this operation is erroneous. Such errors may occur as a result of a typo or inattentive copy-paste.
Consider an example of a similar error that appears when using the '??' operator:
string SomeMethod() { String expr1 = Foo(); String expr2 = Bar(); .... return expr1 ?? expr1; }
'SomeMethod' will always return the same value whether the 'expr1' variable is 'null' or not. Therefore, the 'expr1 ?? expr1' expression in 'SomeMethod' does not make sense. Most likely, there was a typo, and the correct version of the expression should look like this:
return expr1 ?? expr2;
A similar error can be made when using the '??=' operator:
void SomeMethod() { String expr1 = Foo(); String expr2 = Bar(); .... expr1 ??= expr1; .... DoSmt(expr1); }
In this case, an error similar to the one described in the previous example was made. Fixed code:
expr1 ??= expr2;
This diagnostic is classified as: