Because of the past differences between Microsoft Visual Basic, Microsoft Visual C, and Microsoft Visual C++, many developers have the impression that Microsoft Visual C# .NET is a more powerful language than Microsoft Visual Basic .NET.
Some developers assume that many things that are possible in Visual C# .NET are impossible in Visual Basic .NET, just as many things that are possible in Microsoft Visual C 6.0 and earlier or Microsoft Visual C++ 6.0 and earlier are impossible in Microsoft Visual Basic 6.0 and earlier. This assumption is incorrect.
Although differences exist between Visual Basic .NET and Visual C# .NET, they are both first-class programming languages that are based on the Microsoft .NET Framework, and they are equally powerful. Visual Basic .NET is a true object-oriented programming language that includes new and improved features such as inheritance, polymorphism, interfaces, and overloading.
Both Visual Basic .NET and Visual C# .NET use the common language runtime in the .NET Framework, and almost no performance issues now exist between them.
Visual Basic .NET may be oriented more toward ease of use by providing features such as late binding, and Visual C# .NET may have a few more “power” features, such as handling unmanaged code, but the differences are very small compared to what they were in the past.
This article points to the "Differences Between Microsoft Visual Basic .NET and Microsoft Visual C# .NET" white paper
Quick reference guide to highlight some key syntactical differences between VB.NET and C#
Complete Comparison for VB.NET and C#
VB.NET and C# cross conversion tools are available here:
Convert C# to VB.NET
Convert VB.NET to C#