• Saves Valuable Time
  • Trusted Accuracy for 14 Years
  • 15-Day Money-Back Guarantee

VB.NET to C# Converter – Instant C#

Instant C# produces great C# code, saving you hours of painstaking work and valuable time.

Try the Free Edition

  • Free
  • High-quality conversion
  • Converts first 100 lines of each file or snippet

Purchase the Premium Edition

  • $119 US (15-day money-back guarantee)
  • High-quality conversion
  • Unlimited conversion output

10 Second Overview

*Scroll right to see Instant C# in action!

Key Benefits

The Most Comprehensive VB to C# Converter


Q:   Is the original VB.NET project altered in any way?

Your existing code is left completely intact.  The new C# project is written to the new location that you specify.

Q:   Do you guarantee a 100% complete conversion?

No.  Our accuracy is the highest in the industry - over 99% (99.98% on Microsoft's "101 Visual Basic Code Samples"), but there will be some minor tweaks required in all but the most trivial projects.  Read the rest of the FAQ to get an idea of a few things that are not converted. It is critical to try some of your own code when comparing VB to C# converters since it is very easy to create a converter that does very well on a specific set of projects, such as Microsoft's published 101 VB code samples.  Most converters, including Instant C#, are regularly tested against these sample projects.  The most important criterion is how well the converter does on your own code, and this is where Instant C# will clearly show its superiority.

Q:   Does Instant C# convert VB6 projects to C#?

No.  The most effective and safest way to get from VB6 to C# is to use an upgrade tool (3rd party or the VS 2008 Upgrade Wizard) on your VB6 code, and then use Instant C# on the resulting VB.NET code.

Q:   How are methods with optional parameters converted?

By default, we convert to C# optional parameters (available since C# 4), but we offer an option to convert to overloaded methods.

Q:   How are classic VB.NET Collections handled?

Instant C# inserts a helper class to replicate the behavior of the VB Collection class.

Q:   How are classic VB.NET string functions handled?

You have the option of leaving them as is (via reference to the Microsoft.VisualBasic namespace), or converting some of them to their closest .NET equivalent string method. Note that this may be risky if you are depending on some of the very strange quirks of the classic VB string functions (e.g., Left(x, 2) returns an empty string if x is unassigned, while .NET appropriately raises an exception when x.Substring(0, 2) is attempted).

Q:   Are case statements with range expressions handled?

Yes, VB 'Select Case' blocks containing range expressions are converted to C# 'if-else' blocks.  Other 'Select Case' blocks are either converted to C# 'switch' statements if the expressions are constant (a requirement in C#) or to C# if-else blocks otherwise.

Q:   What are the most common adjustments necessary after conversion?

Additional Resources

VB.NET and C# equivalents chart

C# – Visual Basic bilingual dictionary

VB.NET to C# conversion tips

Copyright © 1997 – 2018 Tangible Software Solutions, Inc.