sky2224
13 hours ago
The biggest thing to be aware of honestly is the difference between .NET Framework and .NET Core.
Essentially, .NET Core has dropped the "Core" moniker. It's just .NET (I tend to refer to it as .NET proper when differentiating between Framework). This change began with .NET 5.0.
If you're starting from scratch, you will want to build everything using .NET now. Do not use .NET Framework unless absolutely necessary. Probably the most common reason you'd be stuck using .NET Framework is because your project is reliant on some driver or library that isn't making the transition to .NET proper. If you're in this situation, you should try to move as much stuff as you can to be on .NET proper and then use .NET Standard, a middle man library Microsoft developed for this exact situation, to allow for cohesion between .NET Framework and .NET proper.
Otherwise, in terms of specific "modern" coding practices? I'd say to pay attention to modern OOP approaches in general. Dependency Injection seems to be used everywhere now. Also, be careful using Reflection. People get a lot done with it really fast, but if it starts being used for more than just attribute inspection and you're doing some crazy shit with it, that's usually a sign of a bigger architectural issue.
Lastly, review LINQ if it's been a while for you. Specifically, understand deferred execution as a lot of people shoot themselves in the foot by tacking on a `.ToList()` and enumerating over a massive collection they shouldn't be enumerating over.
C# has changed a lot, but it's more subtle than the way a lot of other languages have progressed. Mostly just new features that you can survive very easily without. C# 14 is bringing some interesting changes though, but that's still pretty new, so I'd see the release notes on that if you're interested.