I often find myself doing:
foo = foo ?? x;
Why can't I do:
foo ??= x;
Edit: I know it's not part of the language... My question is "why not"? I find the necessity to repeat "foo" to be unpleasing and potentially error-prone. It looks just as ugly as:
foo = foo + x;
The null-coalescing assignment operator ??=
was introduced in C# 8.0
https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8#null-coalescing-assignment