"For anyone who needs to convert code on a regular basis
(or even one large one-off job) Instant VB and Instant C#
are without doubt the best translation tools on the market."
– Dom Sinclair, View To Learn
Saves valuable time
Accurate and comprehensive
Easy to use
Safe - your code never leaves your machine
Responsive customer support
15 day money-back guarantee
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
10 Second Preview
C# to VB.NET Indexer Conversion:
C# to VB.NET Lambda Conversion:
C# to VB.NET Object Initializer Conversion:
C# to VB.NET LINQ Conversion:
*Scroll right to see Instant VB screenshots
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: What version of C# is converted?
We attempt to convert as much as possible and are continually updating the converter
to handle newer C# features. However, many new C# features have no VB equivalent so the output will require adjustments.
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 'task' 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.
Project conversions never produce auto-generated files, such as the Resources.Designer.vb or Settings.Designer.vb files.
For .NET Core projects, these should be automatically re-generated (may require saving the resources or settings), but for .NET Framework projects, after conversion you will need to right-click on the
"Settings.settings" file within Visual Studio and select "Run Custom Tool" to force auto-generation of the Settings.Designer.vb code file.
Similarly, you will need to right-click on the "Resources.resx" file within Visual Studio and select "Run Custom Tool" to force auto-generation of the Resources.Designer.vb file.
Unfortunately, many new C# features beginning with C# 7 have
no equivalent in other languages.