I personally like C# as a language and I use it for development, but I think Java is a more generalized language suitable for learning, even though I personally dislike parts of it. It's much more ubiquitous and easy to install and I think those aspects are essential for a learning platform.
Yes, with the addition of Mono, C# can run on other platforms, and Microsoft appears to be pushing to open source it completely. Once C# has an easily-installable runtime and SDK for all major platforms (Windows, Mac, Linux) I think it would make a great learning language. I've installed Mono SDKs on two different Linux platforms, and both were complex installations with lots of prerequisites.