V3170. Both operands of the '??' operator are identical.
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: