.Equals
and==
have different meaning in C#. Decent IDEs will warn you about that (and yes, that excludes Visual Studio, but that always was crap 😄).- As for (re)assignments - I don’t see an issue with that, tbh; you only have to be aware of whether you’re using a reference- or value type (and if you aren’t, then let’s be honest - you have bigger problems).
I admit, “canonical C#” looks like shit due to a fuckton of legacy stuff. Fortunately, newer patterns solve that rather neatly and that started way back in C# 6 or 7 (with arrow functions / props and inlined out
s).
Tl;dr: check the new features, fiddle with the language yourself. Because hell, with ref struct
s you can make it behave like quasi-Rust
Frankly, the problem with socialism (and with anything else, for that matter) is that it takes one high-up enough asshole to ruin things for everyone.
Then again, I have little-to-no proposals to counter your argument, so I guess it’s back to cookies and diabetes for us