Compilatore e debugger C# online

Scrivi, compila, esegui e fai il debug di C# online. Usa breakpoint, esecuzione passo passo e ispezione degli oggetti in un IDE multifile, senza Visual Studio.

Librerie preinstallate
🚀 350,749 esecuzioni totali (3 questo mese)
Output

Esercitati in C# con le sfide di codice

Risolvi problemi pratici direttamente in questo editor: esegui i test di esempio, invia la soluzione e ricevi una revisione AI del codice.

Tutte le sfide C#
Facile

Average of Three

Average three whole numbers.

Imparerai AritmeticaDivisione
BeginnerLearning-pathVariables
Facile

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Imparerai AritmeticaValori di ritorno
BeginnerLearning-pathVariables
Media

Una generazione di un algoritmo genetico

Genera la prossima generazione di stringhe di bit con selezione a torneo, crossover a un punto e mutazione.

Imparerai Algoritmi geneticiRicerca evolutiva
OptimizationSimulationai
Nessuna soluzione ancora
Facile

Bandito multi-braccio epsilon-greedy

Bilancia esplorazione e sfruttamento su un bandito multi-braccio con la selezione delle azioni epsilon-greedy.

Imparerai Esplorare o sfruttareBandit
Apprendimento per rinforzoaiapprendimento automatico
Nessuna soluzione ancora
Facile

Distribuzione degli stati di una catena di Markov

Propaga una distribuzione di probabilità attraverso la matrice di transizione di una catena di Markov per un certo numero di passi.

Imparerai Catene di MarkovProbabilità
Simulationaimath
Nessuna soluzione ancora
Media

Iterazione dei valori

Calcola quanto vale ogni stato di un processo decisionale di Markov applicando ripetutamente l'aggiornamento di ottimalità di Bellman.

Imparerai Equazione di BellmanMDP
Apprendimento per rinforzoaiapprendimento automatico
Nessuna soluzione ancora
Media

Aggiornamenti del Q-learning

Applica l'aggiornamento del Q-learning a un flusso di esperienze e guarda le ricompense risalire verso gli stati precedenti.

Imparerai Q-learningRicompense scontate
Apprendimento per rinforzoaiapprendimento automatico
Nessuna soluzione ancora
Media

Potatura alfa-beta

Valuta un albero di gioco con minimax e potatura alfa-beta, e conta quante foglie la ricerca esamina davvero.

Imparerai Potatura alfa-betaRicerca nei giochi
RecursionTreesai
Nessuna soluzione ancora
Media

Tris con minimax

Scegli la mossa perfetta a tris esplorando l'intero albero di gioco con minimax.

Imparerai MinimaxAlberi di gioco
Recursionai
Nessuna soluzione ancora
Media

Ricerca A* su una griglia pesata

Trova il percorso più economico attraverso una griglia di costi del terreno con A*, l'algoritmo di ricerca dietro il pathfinding di giochi e robot.

Imparerai Ricerca A*Euristiche
GraphsGridsShortest-pathai
Nessuna soluzione ancora
Media

Campionamento con temperatura e top-k

Scegli il token successivo come un modello linguistico: tieni i k logit più alti, applica la temperatura e campiona.

Imparerai Generazione di testoCampionamento
aiapprendimento automatico
Nessuna soluzione ancora
Difficile

Self-attention multi-head

Proietta l'input in query, key e value, esegui l'attenzione in più head in parallelo e combinale.

Imparerai Attenzione multi-headProiezioni matriciali
aiapprendimento automatico
Nessuna soluzione ancora

🔷 Informazioni su questo esecutore online C# / .NET

Il CodeUtility C# Executor ti consente di scrivere ed eseguire vero codice C# direttamente nel tuo browser - senza installazioni, configurazioni di Visual Studio o .NET SDK. È alimentato da una sandbox sicura che supporta il runtime .NET e le versioni moderne del linguaggio C#, incluse C# 9 e successive.

Questo strumento utilizza dotnet-script dietro le quinte per compilare ed eseguire il tuo codice con un comportamento .NET reale, permettendoti di sperimentare sia le funzionalità base sia quelle avanzate di C# come LINQ, async/await, pattern matching e generics.

Puoi testare script semplici, funzioni e flussi logici, oppure esplorare concetti come classi, struct, ereditarietà e interfacce - il tutto in un ambiente di coding pulito e senza distrazioni.

Che tu stia imparando C#, testando algoritmi o sperimentando funzionalità .NET, il CodeUtility C# Executor ti offre un modo rapido, sicuro e affidabile per eseguire codice C# all’istante da qualsiasi browser.

Più di un semplice esecutore di codice

Usa nello stesso esecutore un editor multifile, un terminale di esecuzione isolato, librerie specifiche per il runtime, spazi di lavoro persistenti, condivisione e collaborazione in tempo reale.

Come si usa questo esecutore?

Scegli un runtime, apri o crea un file, scrivi il codice e seleziona Esegui. L’output appare nel terminale; gli utenti che hanno effettuato l’accesso possono conservare i file in uno spazio di lavoro, installare librerie e collaborare tramite le condivisioni.

  1. Seleziona una versione e modifica il file corrente oppure apri un altro file dello spazio di lavoro.
  2. Esegui il codice, inserisci i dati nel terminale quando richiesto e consulta la cronologia delle esecuzioni salvate.
  3. Usa librerie, strumenti dello spazio di lavoro, condivisione e chat quando l’attività richiede più di un frammento di codice.

💡 Nozioni di base C# ed esempi che puoi provare qui sopra

1. Dichiarazione di variabili e costanti

C# utilizza dichiarazioni di variabili a tipizzazione forte. Usa const per le costanti a tempo di compilazione e readonly per quelle a tempo di esecuzione.

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

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

2. Condizionali (if / switch)

Usa if, else if e switch per il flusso di controllo.

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

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

3. Cicli

C# supporta i cicli for, while e foreach.

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

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

4. Array

Gli array contengono collezioni a dimensione fissa di elementi dello stesso tipo.

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

5. Manipolazione delle liste

Usa List<T> per collezioni dinamiche.

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

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

6. Input/Output da console

Usa Console.WriteLine e Console.ReadLine per l'I/O di base.

Console.Write("Inserisci il tuo nome: ");
string name = Console.ReadLine();
Console.WriteLine($"Ciao, {name}!");

7. Funzioni

Definisci i metodi usando un tipo di ritorno, un nome e parametri.

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

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

8. Dizionari

Dictionary<TKey, TValue> memorizza coppie chiave-valore.

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

9. Gestione delle eccezioni

Gestisci gli errori a tempo di esecuzione usando try, catch e finally.

try
{
    throw new Exception("Qualcosa è andato storto");
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

10. I/O su file

Usa File e StreamReader/StreamWriter per operazioni sui file.

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

11. Manipolazione delle stringhe

Le stringhe in C# supportano metodi come Length, Substring, Contains.

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

12. Classi e oggetti

C# supporta la programmazione orientata agli oggetti tramite classi e oggetti.

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

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