Are you really going to do cross platform development?
Or rather what do you understand cross platform to be, since it does not apply to just windows vs linux anymore?
Desktop
If your'e going to do apps on windows, learn c#
If you're going to do linux apps, learn java/python
Web apps
If you're going to do .net web server apps(asp/silverlight/WPF etc), learn c#
If you're going to do web server apps, learn java or PHP or Ruby or flex etc
Mobile
If you want to do windows mobile development, learn c#(and visual studio)
If you want to do iOS/Mac(iWhatever) development, learn objective-C(and get a mac)
If you want to do android mobile development, learn Java(and use eclipse)
Any case syntactically there is so little difference between c# and Java that if you are comfortable with one you'll pick up the other one quickly
So if you just want to learn the language pick any one(Visual Studio Express is free and nice to develop with for C#, or try eclipse for Java)
Or rather what do you understand cross platform to be, since it does not apply to just windows vs linux anymore?
Desktop
If your'e going to do apps on windows, learn c#
If you're going to do linux apps, learn java/python
Web apps
If you're going to do .net web server apps(asp/silverlight/WPF etc), learn c#
If you're going to do web server apps, learn java or PHP or Ruby or flex etc
Mobile
If you want to do windows mobile development, learn c#(and visual studio)
If you want to do iOS/Mac(iWhatever) development, learn objective-C(and get a mac)
If you want to do android mobile development, learn Java(and use eclipse)
Any case syntactically there is so little difference between c# and Java that if you are comfortable with one you'll pick up the other one quickly
So if you just want to learn the language pick any one(Visual Studio Express is free and nice to develop with for C#, or try eclipse for Java)