@hj @lanodan C# has plain data structs, an exponential operator, a static class to work with stdin as opposed to manually declaring a scanner object, actual pointers, operator overloading, and unions. Java has none of those.
There is a good reason why indie game developers went from Java to C# and it's not just the XNA framework.