Compilador y depurador C# online

Escribe, compila, ejecuta y depura C# online. Usa puntos de interrupción, ejecución paso a paso e inspección de objetos en una IDE con varios archivos, sin Visual Studio.

Bibliotecas preinstaladas
🚀 350,749 ejecuciones totales (3 este mes)
Salida

Practica C# con desafíos de código

Resuelve problemas prácticos en este editor: ejecuta las pruebas de ejemplo, envía tu solución y recibe una revisión de código por IA.

Todos los desafíos de C#
Fácil

Average of Three

Average three whole numbers.

Aprenderás AritméticaDivisión
BeginnerLearning-pathVariables
Fácil

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Aprenderás AritméticaValores de retorno
BeginnerLearning-pathVariables
Intermedio

Una generación de un algoritmo genético

Cría la siguiente generación de cadenas de bits con selección por torneo, cruce de un punto y mutación.

Aprenderás Algoritmos genéticosBúsqueda evolutiva
OptimizationSimulationai
Aún no hay soluciones
Fácil

Bandido multibrazo epsilon-greedy

Equilibra exploración y explotación en un bandido multibrazo con selección de acciones epsilon-greedy.

Aprenderás Explorar o explotarBandidos
Aprendizaje por refuerzoaiaprendizaje automático
Aún no hay soluciones
Fácil

Distribución de estados de una cadena de Markov

Propaga una distribución de probabilidad a través de la matriz de transición de una cadena de Markov durante varios pasos.

Aprenderás Cadenas de MarkovProbabilidad
Simulationaimath
Aún no hay soluciones
Intermedio

Actualizaciones de Q-learning

Aplica la actualización de Q-learning a un flujo de experiencias y observa cómo las recompensas fluyen hacia estados anteriores.

Aprenderás Q-learningRecompensas descontadas
Aprendizaje por refuerzoaiaprendizaje automático
Aún no hay soluciones
Intermedio

Poda alfa-beta

Evalúa un árbol de juego con minimax y poda alfa-beta, y cuenta cuántas hojas examina realmente la búsqueda.

Aprenderás Poda alfa-betaBúsqueda en juegos
RecursionTreesai
Aún no hay soluciones
Intermedio

Tres en raya con minimax

Elige la jugada perfecta en el tres en raya explorando todo el árbol de juego con minimax.

Aprenderás MinimaxÁrboles de juego
Recursionai
Aún no hay soluciones
Intermedio

Búsqueda A* en una cuadrícula ponderada

Encuentra el camino más barato a través de una cuadrícula de costes de terreno con A*, el algoritmo de búsqueda detrás de la navegación en juegos y robots.

Aprenderás Búsqueda A*Heurísticas
GraphsGridsShortest-pathai
Aún no hay soluciones
Intermedio

Muestreo con temperatura y top-k

Elige el siguiente token como un modelo de lenguaje: conserva los k logits más altos, aplica la temperatura y muestrea.

Aprenderás Generación de textoMuestreo
aiaprendizaje automático
Aún no hay soluciones
Difícil

Autoatención multicabeza

Proyecta la entrada en consultas, claves y valores, ejecuta la atención en varias cabezas en paralelo y combínalas.

Aprenderás Atención multicabezaProyecciones matriciales
aiaprendizaje automático
Aún no hay soluciones
Intermedio

Normalización de capa

Normaliza cada fila a media 0 y varianza 1, y luego escala y desplaza, como hace cada bloque Transformer.

Aprenderás Normalización de capaTransformers
Redes neuronalesaiaprendizaje automático
Aún no hay soluciones

🔷 Acerca de este ejecutor en línea de C# / .NET

El CodeUtility C# Executor te permite escribir y ejecutar código C# real directamente en tu navegador - sin instalación, configuración de Visual Studio ni .NET SDK. Funciona con un entorno aislado seguro que admite el runtime de .NET y versiones modernas del lenguaje C#, incluyendo C# 9 y posteriores.

Esta herramienta usa dotnet-script bajo el capó para compilar y ejecutar tu código con comportamiento real de .NET, lo que te permite experimentar tanto con características básicas como avanzadas de C#, como LINQ, async/await, pattern matching y genéricos.

Puedes probar scripts simples, funciones y flujos lógicos, o explorar conceptos como clases, structs, herencia e interfaces - todo en un entorno de código limpio y sin distracciones.

Ya sea que estés aprendiendo C#, probando algoritmos o experimentando con características de .NET, el CodeUtility C# Executor te ofrece una forma rápida, segura y confiable de ejecutar código C# al instante desde cualquier navegador.

Más que un ejecutor de código

Utiliza un editor de varios archivos, un terminal de ejecución aislado, bibliotecas específicas del entorno, espacios de trabajo persistentes, opciones para compartir y colaboración en tiempo real desde el mismo ejecutor.

¿Cómo se utiliza este ejecutor?

Elige un entorno de ejecución, abre o crea un archivo, escribe el código y selecciona Ejecutar. El resultado aparece en el terminal; los usuarios que han iniciado sesión pueden conservar archivos en un espacio de trabajo, instalar bibliotecas y colaborar mediante elementos compartidos.

  1. Selecciona una versión y edita el archivo actual o abre otro archivo del espacio de trabajo.
  2. Ejecuta el código, introduce datos en el terminal cuando se soliciten y revisa el historial de ejecuciones guardado.
  3. Utiliza bibliotecas, herramientas del espacio de trabajo, opciones para compartir y el chat cuando la tarea requiera más de un fragmento.

💡 Fundamentos de C# y ejemplos que puedes probar arriba

1. Declarar variables y constantes

C# usa declaraciones de variables fuertemente tipadas. Usa const para constantes en tiempo de compilación y readonly para constantes en tiempo de ejecución.

int age = 30;
double pi = 3.14159;
char grade = 'A';
string name = "Alice";
bool isActive = true;

// Constantes
const int MaxUsers = 100;
const string Company = "CodeUtility";

2. Condicionales (if / switch)

Usa if, else if y switch para el control de flujo.

int x = 2;
if (x == 1)
{
    Console.WriteLine("Uno");
}
else if (x == 2)
{
    Console.WriteLine("Dos");
}
else
{
    Console.WriteLine("Otro");
}

switch (x)
{
    case 1:
        Console.WriteLine("Uno");
        break;
    case 2:
        Console.WriteLine("Dos");
        break;
    default:
        Console.WriteLine("Otro");
        break;
}

3. Bucles

C# admite bucles for, while y foreach.

for (int i = 0; i < 3; i++)
{
    Console.WriteLine(i);
}

int n = 3;
while (n > 0)
{
    Console.WriteLine(n);
    n--;
}

4. Arreglos

Los arreglos almacenan colecciones de tamaño fijo de elementos del mismo tipo.

int[] numbers = { 10, 20, 30 };
Console.WriteLine(numbers[1]);

5. Manipulación de listas

Usa List<T> para colecciones dinámicas.

List<int> nums = new List<int> { 1, 2, 3 };
nums.Add(4);
nums.Remove(2);

foreach (int n in nums)
{
    Console.Write(n + " ");
}

6. Entrada/Salida por consola

Usa Console.WriteLine y Console.ReadLine para E/S básica.

Console.Write("Ingresa tu nombre: ");
string name = Console.ReadLine();
Console.WriteLine($"¡Hola, {name}!");

7. Funciones

Define métodos usando un tipo de retorno, nombre y parámetros.

int Add(int a, int b)
{
    return a + b;
}

Console.WriteLine(Add(3, 4));

8. Diccionarios

Dictionary<TKey, TValue> almacena pares clave-valor.

Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Alice"] = 30;
Console.WriteLine(ages["Alice"]);

9. Manejo de excepciones

Maneja errores en tiempo de ejecución usando try, catch y finally.

try
{
    throw new Exception("Algo salió mal");
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

10. E/S de archivos

Usa File y StreamReader/StreamWriter para operaciones con archivos.

File.WriteAllText("file.txt", "Hola archivo");
string text = File.ReadAllText("file.txt");
Console.WriteLine(text);

11. Manipulación de cadenas

Las cadenas de C# admiten métodos como Length, Substring, Contains.

string message = "Hola Mundo";
Console.WriteLine(message.Length);
Console.WriteLine(message.Substring(0, 5));
Console.WriteLine(message.Contains("Mundo"));

12. Clases y objetos

C# admite la programación orientada a objetos mediante clases y objetos.

class Person
{
    public string Name;
    public Person(string name) => Name = name;
    public void Greet() => Console.WriteLine($"Hola, soy {Name}");
}

Person p = new Person("Alice");
p.Greet();