Pros:
- Excellent documentation and widely used (not just modern btw, MS documentation is world-class and has been for the ~8 years I've been exposed to .NET API documentation)
- Excellent code structure, supports very large/enterprise type code bases
- Mostly sane improvements, with regular rollouts
- Now cross-platform (although ref [0] for what it's like to develop in a non-Windows environment)
- IDE support is 5-star. MS own IDE is at least 4 star, and Rider (JetBrains) seems to be very popular as well. I've used three versions (pre-2019, 2019, and now 2022) at different paid levels, no big gripes. You get great debugging, profiling, REPL, etc.
- Mostly opinion/experience: Allows for a range of styles, while IMHO balancing correctly with consistency that is easy to pick up and collaborate with. It is possible to write confusing code, but not as much as other languages (ref [1]).
Cons:
- It is cross-platform according to the docs, but in reality it comes from and is relied on mostly in a Windows world.
- Testability - if you like unit testing, you will need to make everything testable also exposable - if not publicly, at least within the same assembly.
> If you have experience with ASP.NET Core...
Yes. It's pretty good. Apart from a question specific to the language or framework, you will need to quickly become familiar with how stuff works behind the scenes. It might also be beneficial to look into how deployment works, depending on your target (IIS, Azure, AWS, etc).
> Did you enjoy developing...
Yes, for larger projects that need collaboration. Otherwise I use Ruby.
[0]: https://news.ycombinator.com/item?id=31520399 [1]: https://www.ioccc.org/
* edited for formatting