Earlier quoted context omitted.
I don't know what you're on about. C# is basically a "better Java" so there's no particular reason you can't write good software in it.
That's very subjective. C# has tons of useless keywords that you just know some arrogant dev is going to use because they can, which then no junior can work with. It also has a worse ecosystem for writing server software (while obviously a better ecosystem for writing Windows applications) and is less suitable for cross-platform work.
The second part is true. .NET does not share the same wide ecosystem as Java.