ReSharper
 
Get ReSharper
Get your hands on the new features ahead of the release by joining the Early Access Program for ReSharper 2025.1! Learn more

Code inspection: 'if' statement can be rewritten as '??=' assignment

Last modified: 23 September 2024

If you want to assign a value, pass an argument, or return from a method based on the nullability of an identifier, the clearest syntax you can use in these cases is the ?? (null-coalescing) operator.

Therefore, whenever ReSharper encounters an assignment of a variable preceded by checking this variable for null with the if expression, it suggests simplifying the assignment using the ??= operator.

Speaking about the performance of both operators, there is no observable difference. Actually, the ?? is even a tiny bit faster.