+3  A: 

Not an expert but you can find a lot of information to get you started here: http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java

Ryan Thames
A: 

I think this is the wrong question! The right Question would be: Java Runtime Environment vs .NET Framework

C# is only one programming language for the .NET framework, there are several others.

Thomas Maierhofer
You're correct, of course, but who cares? We all know what the question is asking.
Oli
Some consider Java a platform as well now since multiple languages can run on the JVM.
Jim Anderson
+1  A: 

The other thing to consider is the "ecosystem" of a language. What libraries are available, what tools are available, which one has a company that will keep investing in it.

I do .net, and I'm trying not to be biased, but I look at Sun and see a company in decline.

Tim Almond
A: 

The advantage of using C# (i.e. the .net framework) is it is really a great way to use the whole Microsoft dev stack - webforms, winforms, sql server, silverlight and now the cloud platform.

For a programmer this entire breadth of dev stack is a great tool that few others offer. I am not saying this is the only or best way but just consider that with Java you actually need to learn a couple of new environments (IDE, database, scripting, flash...), whereas with the Microsoft stack there is a common look and feel that helps towards a faster learning.

If the above appeals to you go for .net. From market capture point of view I do not think Java or .net really make that difference. There are 'gods' in both worlds.

Sesh
A: 

Without a context, this is a rather vague question. If you want to address multiple platforms, Java is better suited. If you want to write hobby games for the Xbox 360 C# is a better choice. The languages are very similar, and the impact of their differences very much depends on your actual situation.

Brian Rasmussen