Compilateur et débogueur C# en ligne

Écrivez, compilez, exécutez et déboguez C# en ligne. Utilisez les points d’arrêt, l’exécution pas à pas et l’inspection d’objets dans un IDE multifichier, sans Visual Studio.

Bibliothèques préinstallées
🚀 350,747 exécutions totales (1 ce mois-ci)
Sortie

Pratiquez C# avec des défis de code

Résolvez des problèmes concrets dans cet éditeur : lancez les tests, soumettez et recevez une relecture IA.

Tous les défis C#
Facile

Average of Three

Average three whole numbers.

Vous apprendrez ArithmétiqueDivision
BeginnerLearning-pathVariables
Facile

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Vous apprendrez ArithmétiqueValeurs de retour
BeginnerLearning-pathVariables
Moyen

Une génération d'algorithme génétique

Produisez la génération suivante de chaînes de bits par sélection par tournoi, croisement en un point et mutation.

Vous apprendrez Algorithmes génétiquesRecherche évolutionnaire
OptimizationSimulationai
Aucune solution pour l’instant
Facile

Bandit manchot multi-bras epsilon-greedy

Équilibrez exploration et exploitation sur un bandit multi-bras avec une sélection d'action epsilon-greedy.

Vous apprendrez Exploration ou exploitationBandits
Apprentissage par renforcementaiapprentissage automatique
Aucune solution pour l’instant
Facile

Distribution d'états d'une chaîne de Markov

Propagez une distribution de probabilités à travers la matrice de transition d'une chaîne de Markov pendant un certain nombre de pas.

Vous apprendrez Chaînes de MarkovProbabilités
Simulationaimath
Aucune solution pour l’instant
Moyen

Itération sur les valeurs

Calculez la valeur de chaque état d'un processus de décision markovien en appliquant à répétition la mise à jour d'optimalité de Bellman.

Vous apprendrez Équation de BellmanMDP
Apprentissage par renforcementaiapprentissage automatique
Aucune solution pour l’instant
Moyen

Élagage alpha-bêta

Évaluez un arbre de jeu avec minimax et l'élagage alpha-bêta, et comptez combien de feuilles la recherche examine vraiment.

Vous apprendrez Élagage alpha-bêtaRecherche dans les jeux
RecursionTreesai
Aucune solution pour l’instant
Moyen

Morpion avec minimax

Choisissez le coup parfait au morpion en explorant tout l'arbre de jeu avec minimax.

Vous apprendrez MinimaxArbres de jeu
Recursionai
Aucune solution pour l’instant
Moyen

Recherche A* sur une grille pondérée

Trouvez le chemin le moins coûteux à travers une grille de coûts de terrain avec A*, l'algorithme de recherche derrière le pathfinding des jeux et des robots.

Vous apprendrez Recherche A*Heuristiques
GraphsGridsShortest-pathai
Aucune solution pour l’instant
Moyen

Échantillonnage avec température et top-k

Choisissez le token suivant comme un modèle de langage : gardez les k logits les plus élevés, appliquez la température et échantillonnez.

Vous apprendrez Génération de texteÉchantillonnage
aiapprentissage automatique
Aucune solution pour l’instant
Difficile

Auto-attention multi-têtes

Projetez l'entrée en requêtes, clés et valeurs, exécutez l'attention dans plusieurs têtes en parallèle et combinez-les.

Vous apprendrez Attention multi-têtesProjections matricielles
aiapprentissage automatique
Aucune solution pour l’instant
Moyen

Normalisation de couche

Normalisez chaque ligne vers une moyenne 0 et une variance 1, puis mettez à l'échelle et décalez, comme le fait chaque bloc Transformer.

Vous apprendrez Normalisation de coucheTransformers
Réseaux de neuronesaiapprentissage automatique
Aucune solution pour l’instant

🔷 À propos de cet exécuteur C# / .NET en ligne

Le CodeUtility C# Executor vous permet d’écrire et d’exécuter du vrai code C# directement dans votre navigateur - sans installation, sans configuration de Visual Studio, ni SDK .NET requis. Il est alimenté par un bac à sable sécurisé qui prend en charge le runtime .NET et les versions modernes du langage C#, dont C# 9 et ultérieures.

Cet outil utilise dotnet-script sous le capot pour compiler et exécuter votre code avec un comportement .NET réel, ce qui vous permet d’expérimenter aussi bien des fonctionnalités C# de base qu’avancées comme LINQ, async/await, la correspondance de motifs (pattern matching) et les génériques.

Vous pouvez tester de simples scripts, fonctions et flux logiques, ou explorer des concepts comme les classes, les structures, l’héritage et les interfaces - le tout dans un environnement de code épuré, sans distraction.

Que vous appreniez C#, testiez des algorithmes ou expérimentiez des fonctionnalités .NET, le CodeUtility C# Executor vous offre un moyen rapide, sûr et fiable d’exécuter du code C# instantanément depuis n’importe quel navigateur.

Bien plus qu’un exécuteur de code

Utilisez depuis le même exécuteur un éditeur multifichier, un terminal d’exécution isolé, des bibliothèques propres à chaque environnement, des espaces de travail persistants, le partage et la collaboration en temps réel.

Comment utiliser cet exécuteur ?

Choisissez un environnement d’exécution, ouvrez ou créez un fichier, écrivez votre code, puis sélectionnez Exécuter. La sortie s’affiche dans le terminal ; les utilisateurs connectés peuvent conserver leurs fichiers dans un espace de travail, installer des bibliothèques et collaborer grâce aux partages.

  1. Sélectionnez une version et modifiez le fichier actuel, ou ouvrez un autre fichier de l’espace de travail.
  2. Exécutez le code, saisissez les données demandées dans le terminal et consultez l’historique des exécutions enregistrées.
  3. Utilisez les bibliothèques, les outils de l’espace de travail, le partage et le chat lorsque votre tâche nécessite plusieurs extraits de code.

💡 Bases de C# et exemples à essayer ci-dessus

1. Déclarer des variables et des constantes

C# utilise des déclarations de variables fortement typées. Utilisez const pour les constantes connues à la compilation et readonly pour les constantes au moment de l’exécution.

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. Conditionnelles (if / switch)

Utilisez if, else if et switch pour le contrôle de flux.

int x = 2;
if (x == 1)
{
    Console.WriteLine("Un");
}
else if (x == 2)
{
    Console.WriteLine("Deux");
}
else
{
    Console.WriteLine("Autre");
}

switch (x)
{
    case 1:
        Console.WriteLine("Un");
        break;
    case 2:
        Console.WriteLine("Deux");
        break;
    default:
        Console.WriteLine("Autre");
        break;
}

3. Boucles

C# prend en charge les boucles for, while et foreach.

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

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

4. Tableaux

Les tableaux stockent des collections de taille fixe d’éléments du même type.

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

5. Manipulation de listes

Utilisez List<T> pour des collections dynamiques.

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

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

6. Entrée/Sortie console

Utilisez Console.WriteLine et Console.ReadLine pour des entrées/sorties de base.

Console.Write("Entrez votre nom : ");
string name = Console.ReadLine();
Console.WriteLine($"Bonjour, {name} !");

7. Fonctions

Définissez des méthodes avec un type de retour, un nom et des paramètres.

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

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

8. Dictionnaires

Dictionary<TKey, TValue> stocke des paires clé-valeur.

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

9. Gestion des exceptions

Gérez les erreurs d’exécution avec try, catch et finally.

try
{
    throw new Exception("Quelque chose s'est mal passé");
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

10. E/S de fichiers

Utilisez File et StreamReader/StreamWriter pour les opérations sur fichiers.

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

11. Manipulation de chaînes

Les chaînes C# prennent en charge des méthodes comme Length, Substring, Contains.

string message = "Bonjour le monde";
Console.WriteLine(message.Length);
Console.WriteLine(message.Substring(0, 5));
Console.WriteLine(message.Contains("monde"));

12. Classes et objets

C# prend en charge la programmation orientée objet via des classes et des objets.

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

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