C# is the “home language” of Microsoft’s .net platform. Designed to combine the most useful aspects of Java’s memory managed virtual machine architecture ( where Java has the approach of one language, many platforms, .Net offers many languages on one platform ) and some of the more powerful elements of C++ it is the logical choice for .net development. Although VB.net was created to appeal to existing Visual Basic developers it’s radical rethinking of the language made the transition so challenging that many people chose to take the extra step and move to C# instead which offers similar but cleaner syntax.

In terms of programming it behaves in a similar way to Java (understandable as it was developed by Microsoft’s Java team after Sun got an injunction forcing them to stop work on their own implementation of the Java VM) the main differences being syntactic sugar rather than substantial changes.