I’m not talking ecosystem or which I’d choose to build an actual project with, just on a pure language basis, C#'s typing system is more flexible and less verbose than Java’s, and unlike Java, C# actually treats functional programming as first class.
Java has certainly gotten better in both regards, but C# was really just a joy in comparison.
Cities still need a way of knowing when streetlights burn out or are in need of service.
You can wait for people to report them out, hope the report is accurate, and then send workers out to try and find them and fix them (and it’s not exactly easy to figure out which light is burnt out during the day), or you can proactively send workers out to fix exactly the right light as soon as they break or show any signs that they might.