Flexible - converts snippets, files, projects, solutions, and folders from C# to VB.NET
Fast - tens of thousands of lines converted from C# to VB.NET per minute
Helpful conversion comments
Excellent educational tool for C# developers learning VB.NET
Numerous conversion and formatting options
Q: Are the original C# files altered in any way?
Your existing code is left completely intact.
The new VB.NET project is output to the new location that you specify.
Q: Can the converter produce VB6 code?
No - only VB.NET code is produced.
Q: Do you guarantee a 100% complete conversion?
No - our accuracy is very high, but there will be
some adjustments required for all but the simplest conversions. Read the rest
of the FAQ to get an idea of a few things that are not converted.
Q: What type of code is not converted?
'unsafe' code blocks and types are not converted.
Code having statements fragmented by preprocessor conditions.
Processing stops for a file when this type of situation occurs.
int i =
The file can only be converted if the above code is rewritten as:
int i = 0;
int i = 1;
Q: What are the most common adjustments necessary after conversion?
VB does not allow assignments within expressions, but C# does (e.g.,
while ((x = y()) > 0) assigns a value to x as part of an
expression). Instant VB will convert some cases, but will mark other more
complex cases with a "ToDo" comment. You must manually
Most reference type comparisons are converted, but occasionally you
may need to manually change an equals sign to "Is".
The VB compiler makes these adjustment requirements obvious.
VB does not allow overloading when it is based only
on the direction of the parameters (ByVal vs ByRef).
Methods overloading done this way will require renaming of the method name in VB.
Unfortunately, many new C# features beginning with C# 7 have
no equivalent in other languages. The C# language is now evolving quickly into an experimental
language based on GitHub requests rather than coherent design principles.