Online-C#-Compiler und -Debugger

Schreibe, kompiliere, starte und debugge C# online. Nutze Haltepunkte, Einzelschritte und Objektinspektion in einer IDE mit mehreren Dateien – ohne Visual Studio.

Vorinstallierte Bibliotheken
🚀 350,749 Gesamt-Ausführungen (3 diesen Monat)
Ausgabe

Übe C# mit Coding Challenges

Löse praktische Aufgaben direkt im Editor: Führe die Beispieltests aus, reiche ein und erhalte ein KI-Code-Review.

Alle C#-Challenges
Einfach

Average of Three

Average three whole numbers.

Du lernst ArithmetikDivision
BeginnerLearning-pathVariables
Einfach

Rechteck-Umfang

Berechne den Umfang eines Rechtecks anhand seiner Seiten.

Du lernst ArithmetikRückgabewerte
BeginnerLearning-pathVariables
Mittel

Eine Generation eines genetischen Algorithmus

Züchte die nächste Generation von Bitstrings mit Turnierselektion, Einpunkt-Crossover und Mutation.

Du lernst Genetische AlgorithmenEvolutionäre Suche
OptimizationSimulationai
Noch keine Lösungen
Einfach

Epsilon-Greedy-Multi-Armed-Bandit

Balanciere Erkundung und Ausnutzung bei einem Multi-Armed-Bandit mit Epsilon-Greedy-Aktionsauswahl.

Du lernst Erkunden vs. AusnutzenBandits
Bestärkendes Lernenaimaschinelles Lernen
Noch keine Lösungen
Einfach

Zustandsverteilung einer Markov-Kette

Führe eine Wahrscheinlichkeitsverteilung über eine Anzahl von Schritten durch die Übergangsmatrix einer Markov-Kette.

Du lernst Markov-KettenWahrscheinlichkeit
Simulationaimath
Noch keine Lösungen
Mittel

Wertiteration

Berechne, wie wertvoll jeder Zustand eines Markov-Entscheidungsprozesses ist, indem du wiederholt das Bellman-Optimalitäts-Update anwendest.

Du lernst Bellman-GleichungMDPs
Bestärkendes Lernenaimaschinelles Lernen
Noch keine Lösungen
Mittel

Q-Learning-Updates

Wende das Q-Learning-Update auf einen Strom von Erfahrungen an und sieh zu, wie Belohnungen zu früheren Zuständen zurückfließen.

Du lernst Q-LearningDiskontierte Belohnungen
Bestärkendes Lernenaimaschinelles Lernen
Noch keine Lösungen
Mittel

Alpha-Beta-Pruning

Bewerte einen Spielbaum mit Minimax und Alpha-Beta-Pruning und zähle, wie viele Blätter die Suche tatsächlich ansieht.

Du lernst Alpha-Beta-PruningSpielsuche
RecursionTreesai
Noch keine Lösungen
Mittel

Minimax-Tic-Tac-Toe

Wähle den perfekten Tic-Tac-Toe-Zug, indem du den ganzen Spielbaum mit Minimax durchsuchst.

Du lernst MinimaxSpielbäume
Recursionai
Noch keine Lösungen
Mittel

A*-Suche auf einem gewichteten Gitter

Finde mit A*, dem Suchalgorithmus hinter der Wegfindung in Spielen und Robotern, den günstigsten Weg durch ein Gitter aus Geländekosten.

Du lernst A*-SucheHeuristiken
GraphsGridsShortest-pathai
Noch keine Lösungen
Mittel

Temperatur- und Top-K-Sampling

Wähle das nächste Token wie ein Sprachmodell: Behalte die k höchsten Logits, wende die Temperatur an und ziehe eine Stichprobe.

Du lernst TextgenerierungSampling
aimaschinelles Lernen
Noch keine Lösungen
Schwierig

Multi-Head-Self-Attention

Projiziere die Eingabe in Queries, Keys und Values, führe Attention in mehreren Heads parallel aus und kombiniere sie.

Du lernst Multi-Head-AttentionMatrixprojektionen
aimaschinelles Lernen
Noch keine Lösungen

🔷 Über diesen C#-/.NET-Online-Executor

Der CodeUtility C# Executor ermöglicht es dir, echten C#‑Code direkt im Browser zu schreiben und auszuführen - keine Installation, kein Visual-Studio-Setup und kein .NET SDK erforderlich. Er wird von einer sicheren Sandbox betrieben, die die .NET-Laufzeit und moderne C#‑Sprachversionen unterstützt, einschließlich C# 9 und neuer.

Dieses Tool verwendet unter der Haube dotnet-script, um deinen Code mit echtem .NET‑Verhalten zu kompilieren und auszuführen. So kannst du sowohl mit grundlegenden als auch mit fortgeschrittenen C#‑Funktionen wie LINQ, async/await, Pattern Matching und Generics experimentieren.

Du kannst einfache Skripte, Funktionen und Logikabläufe testen oder Konzepte wie Klassen, Strukturen, Vererbung und Schnittstellen erkunden - alles in einer sauberen, ablenkungsfreien Programmierumgebung.

Egal, ob du C# lernst, Algorithmen testest oder mit .NET‑Features experimentierst: Der CodeUtility C# Executor bietet dir eine schnelle, sichere und zuverlässige Möglichkeit, C#‑Code sofort in jedem Browser auszuführen.

Mehr als nur ein Code-Runner

Nutzen Sie im selben Executor einen Editor für mehrere Dateien, ein isoliertes Ausführungsterminal, laufzeitspezifische Bibliotheken, persistente Arbeitsbereiche, Freigaben und Zusammenarbeit in Echtzeit.

Wie verwende ich diesen Executor?

Wählen Sie eine Laufzeit aus, öffnen oder erstellen Sie eine Datei, schreiben Sie Ihren Code und wählen Sie Ausführen. Die Ausgabe erscheint im Terminal. Angemeldete Benutzer können Dateien in einem Arbeitsbereich speichern, Bibliotheken installieren und über Freigaben zusammenarbeiten.

  1. Wählen Sie eine Version aus und bearbeiten Sie die aktuelle Datei oder öffnen Sie eine andere Datei aus dem Arbeitsbereich.
  2. Führen Sie den Code aus, geben Sie bei Aufforderung Daten im Terminal ein und prüfen Sie den gespeicherten Ausführungsverlauf.
  3. Nutzen Sie Bibliotheken, Arbeitsbereichswerkzeuge, Freigaben und den Chat, wenn Ihre Aufgabe mehr als ein einzelnes Codefragment erfordert.

💡 C#‑Grundlagen & Beispiele, die du oben ausprobieren kannst

1. Variablen und Konstanten deklarieren

C# verwendet streng typisierte Variablendeklarationen. Verwende const für Compile‑Time‑Konstanten und readonly für Laufzeitkonstanten.

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

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

2. Bedingungen (if / switch)

Verwende if, else if und switch für den Kontrollfluss.

int x = 2;
if (x == 1)
{
    Console.WriteLine("Eins");
}
else if (x == 2)
{
    Console.WriteLine("Zwei");
}
else
{
    Console.WriteLine("Sonstiges");
}

switch (x)
{
    case 1:
        Console.WriteLine("Eins");
        break;
    case 2:
        Console.WriteLine("Zwei");
        break;
    default:
        Console.WriteLine("Sonstiges");
        break;
}

3. Schleifen

C# unterstützt for-, while- und foreach-Schleifen.

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

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

4. Arrays

Arrays speichern Sammlungen fester Größe von Elementen desselben Typs.

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

5. Listen bearbeiten

Verwende List<T> für dynamische Sammlungen.

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

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

6. Konsolen-Ein-/Ausgabe

Verwende Console.WriteLine und Console.ReadLine für einfache Ein-/Ausgabe.

Console.Write("Gib deinen Namen ein: ");
string name = Console.ReadLine();
Console.WriteLine($"Hallo, {name}!");

7. Funktionen

Definiere Methoden mit Rückgabetyp, Namen und Parametern.

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

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

8. Wörterbücher

Dictionary<TKey, TValue> speichert Schlüssel‑Wert‑Paare.

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

9. Ausnahmebehandlung

Behandle Laufzeitfehler mit try, catch und finally.

try
{
    throw new Exception("Etwas ist schiefgelaufen");
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

10. Datei-Ein-/Ausgabe

Verwende File und StreamReader/StreamWriter für Dateioperationen.

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

11. String‑Manipulation

C#‑Strings unterstützen Methoden wie Length, Substring, Contains.

string message = "Hallo Welt";
Console.WriteLine(message.Length);
Console.WriteLine(message.Substring(0, 5));
Console.WriteLine(message.Contains("World"));

12. Klassen & Objekte

C# unterstützt objektorientierte Programmierung mit Klassen und Objekten.

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

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