C# gives you a better Java. Not all improvements have to be revolutionary; downthread you mention Scala but I think its implicits are too powerful for it to be a safe language. (Generally I find the only appropriate use for implicits is extension methods, which C# supports directly and more naturally).
The big promise of .net, though, is better cross-language integration. Scala is in some sense compatible with Java, but a lot of the library is different (e.g. collections); in practice interop is full of awkward edge cases. F#/C# should behave better, though I haven't used them enough to say how true this is in practice.
The big promise of .net, though, is better cross-language integration. Scala is in some sense compatible with Java, but a lot of the library is different (e.g. collections); in practice interop is full of awkward edge cases. F#/C# should behave better, though I haven't used them enough to say how true this is in practice.