Tangible Software Solutions

C# to Java Converter FAQ

Q:   Are the original C# files altered in any way?

Your existing code is left completely intact. The new Java files are 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 Java equivalent so the output will require adjustments.

Q:   What is the conversion accuracy?

Our accuracy is very high, but there will be significant adjustments required for all but the simplest conversions. There are no direct equivalents for some aspects of C#. Read the rest of the FAQ to get an idea of a few things that are not converted. C# to Java Converter is intended to reduce the amount of work you'll have to do to convert code to Java, but it is just the first step.

Q:   Are C# delegates converted?

Yes — try out our Free Edition to see the conversion details. We convert delegate declarations to interface declarations and references to delegate instances to lambdas.

Q:   Are C# events converted?

Yes — try out our Free Edition to see the conversion details. We substitute a wrapper type (using Java generics) for the event delegate type. This generic type maintains collections of 'listeners' with methods to add or remove listeners.

Q:   Are C# ref parameters converted?

Yes — try out our Free Edition to see the conversion details. We substitute a wrapper type (using Java generics) for the parameter type and adjust all references to the parameter in the defining method and all calls to the method.

Q:   How are C# methods with optional parameters converted?

Overloaded methods are created. Missing arguments are replaced by the defaults specified by the original C# parameter list.

Q:   What about .NET UI code?

The converter does not convert .NET UI types due to the lack of similarity between these types and Java UI types.

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


Additional Resources

Java and C# comparison and equivalents chart

Copyright © 2004 – 2024 Tangible Software Solutions, Inc.