Volver a herramientas
Transpilador C ↔ C#
Cómo usar el transpilador
1
Elige la dirección de conversión
Selecciona "C → C#" o "C# → C" según el lenguaje de origen.
2
Introduce tu código
Pega el código fuente C o C# en el editor izquierdo.
3
Ejecuta la conversión
Pulsa "Convertir" para transformar printf a Console.Write, punteros a ref, etc.
4
Revisa y adapta el resultado
Copia el código C# generado y ajusta detalles como gestión de memoria o uso de bibliotecas.
Preguntas frecuentes
¿Qué hace este transpilador C ↔ C#?
Convierte código simple entre C y C# de forma bidireccional. Traduce construcciones comunes como printf ↔ Console.Write, scanf ↔ Console.ReadLine, #include ↔ using, struct ↔ class, punteros (int*) ↔ ref, malloc ↔ new, y NULL ↔ null. Es ideal para portar código de sistemas embebidos o legacy a .NET.
¿Cómo convertir código C a C#?
Selecciona el modo "C → C#" en la parte superior. Pega tu código C en el panel izquierdo y haz clic en "Convertir". El resultado aparecerá en el panel derecho. Ejemplo: código C "int main() { printf("Hola"); return 0; }" se convierte a "static int Main() { Console.Write("Hola"); return 0; }".
¿Qué construcciones de C soporta la conversión?
C → C# maneja: printf/scanf/fprintf/sprintf → Console.Write/ReadLine/Error.Write/string.Format, #include → using System, struct → class, punteros (int* → ref int), malloc → new, free → comentario (GC maneja memoria), NULL → null, #define → const int, typedef → using, void main → static void Main, int main → static int Main. No maneja aritmética de punteros compleja, ensamblador inline, union, volatile, o funciones variádicas.
¿Qué construcciones de C# soporta la conversión?
C# → C maneja: Console.Write → printf, Console.ReadLine → scanf, Console.Error.Write → fprintf, string.Format → sprintf, class → struct, ref → punteros, new → malloc, null → NULL, const int → #define, using (alias) → typedef, static void Main → void main. Es una conversión básica que asume estructuras de código simples.
¿Cuáles son las diferencias clave entre C y C#?
C es un lenguaje compilado de bajo nivel con gestión manual de memoria (malloc/free). C# es un lenguaje managed que corre en .NET con garbage collector. C usa punteros explícitos (*), C# usa referencias (ref). C usa archivos .h con #include, C# usa using. C usa struct para datos, C# tiene class (referencia) y struct (valor). C es procedural, C# es orientado a objetos. C# tiene LINQ, async/await y propiedades automáticas que C no tiene.
¿Qué limitaciones tiene el transpilador?
Usa reglas regex, no un parser AST. Limitaciones: no maneja aritmética de punteros compleja, ensamblador inline, uniones (union), volatile, funciones variádicas, preprocesador avanzado, ni APIs específicas de plataforma. En C#: no maneja LINQ, async/await, genéricos, propiedades, eventos, delegates, ni unsafe code. Para proyectos complejos, usa herramientas como C++/CLI o p/invoke para interoperabilidad.
Herramientas relacionadas
Formateador XML
Formatea y embellece código XML con indentación limpia usando DOMParser. Preserva atributos y comentarios.
Formateador SQL
Formatea SQL y detecta operaciones peligrosas
Constructor de Connection Strings
Genera connection strings para PostgreSQL, MySQL, MongoDB, Redis
Transpilador Java ↔ C#
Convierte código básico entre Java y C#.