Premier programme C#
Ce que tu vas apprendre
- Ce que sont C# et .NET, et comment créer un projet console.
- Lancer un programme avec
dotnet run. - Déclarer des variables typées et afficher du texte avec des chaînes interpolées.
C# et .NET
C# est un langage de programmation créé par Microsoft. .NET est la plateforme qui exécute les programmes C# et qui fournit une grande bibliothèque d'outils prêts à l'emploi.
Pour programmer, tu installes le SDK .NET (Software Development Kit) : le compilateur, la commande dotnet et la bibliothèque. La version à longue durée de support (LTS) actuelle est .NET 10.
Le fil rouge de cette ligne est un petit site de recettes de cuisine. Tu commences par un programme qui affiche une recette.
Créer un projet console
Dans un terminal, tape ces trois commandes :
dotnet new console -o Recettes
cd Recettes
dotnet run
Voici ce que fait chaque commande :
dotnet new console -o Recettescrée un projet d'application console (un programme qui s'exécute dans le terminal) dans un dossierRecettes.cd Recettesentre dans ce dossier.dotnet runcompile le programme puis l'exécute.
Le terminal affiche Hello, World!. Ton premier programme fonctionne.
Lire le fichier Program.cs
Le projet contient un fichier Program.cs. Voici le code généré :
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Il n'y a qu'une ligne utile. Elle appelle Console.WriteLine, qui écrit du texte dans le terminal puis passe à la ligne.
Ce style s'appelle les instructions de niveau supérieur : tu écris directement tes instructions, sans classe ni méthode Main autour. Chaque instruction se termine par un point-virgule.
Recettes.csproj décrit le projet (nom, version de .NET visée). Tu n'as pas besoin de le modifier pour l'instant.Les variables
Une variable est une boîte nommée qui contient une valeur. En C#, chaque variable a un type qui dit quelle sorte de valeur elle accepte.
string nom = "Crêpes";
int portions = 4;
double prix = 3.5;
bool vegetarien = true;
Console.WriteLine(nom);
Console.WriteLine(portions);
Les quatre types à connaître d'abord :
| Type | Contient | Exemple |
|---|---|---|
int | Un nombre entier | 4 |
double | Un nombre à virgule | 3.5 |
string | Du texte | "Crêpes" |
bool | Vrai ou faux | true |
Le séparateur décimal est le point dans le code : 3.5, jamais 3,5. Le texte s'écrit entre guillemets doubles.
Le mot-clé var
Quand la valeur à droite indique déjà le type, tu peux écrire var à la place :
var nom = "Crêpes"; // string
var portions = 4; // int
var ne rend pas la variable libre. Le compilateur devine le type une fois pour toutes, et la variable le garde.
Cette règle te protège des erreurs. Le code suivant est refusé à la compilation :
int portions = 4;
portions = "quatre"; // erreur : un texte n'entre pas dans un int
Les chaînes interpolées
Pour mélanger du texte et des variables, utilise une chaîne interpolée : un texte précédé de $, où chaque {expression} est remplacée par sa valeur.
string nom = "Crêpes";
int portions = 4;
double prix = 3.5;
Console.WriteLine($"{nom} pour {portions} personnes");
Console.WriteLine($"Prix par part : {prix / portions:F2} euros");
Le résultat :
Crêpes pour 4 personnes
Prix par part : 0.88 euros
Entre les accolades, tu peux écrire un calcul. Après les deux-points, F2 demande deux décimales.
+ (nom + " pour " + portions) fonctionne aussi. La chaîne interpolée est plus lisible dès qu'il y a plusieurs valeurs.Les opérateurs de base
Tu calcules avec les opérateurs habituels :
int farine = 250;
int total = farine * 2; // 500
int reste = 10 % 3; // 1, le reste de la division
farine += 50; // 300, raccourci pour farine = farine + 50
Attention à la division de deux entiers : 7 / 2 donne 3, pas 3.5. Pour obtenir un résultat décimal, un des deux nombres doit être un double, par exemple 7 / 2.0.
Lire une saisie
Console.ReadLine() lit une ligne tapée au clavier et la renvoie sous forme de texte :
Console.WriteLine("Nom de la recette ?");
string? saisie = Console.ReadLine();
Console.WriteLine($"Tu as choisi : {saisie}");
Le ? après string signifie que la valeur peut être absente (null). Tu verras plus tard comment traiter ce cas.
À retenir
- Le SDK .NET fournit la commande
dotnet;dotnet new consolecrée un projet etdotnet runle lance. - Un programme console simple tient dans
Program.cs, avec des instructions de niveau supérieur. - Une variable a un type :
int,double,string,bool. Le texte s'écrit entre guillemets doubles, les décimales avec un point. varlaisse le compilateur choisir le type, qui ne change plus ensuite.- Une chaîne interpolée
$"... {valeur} ..."insère des valeurs dans un texte, et:F2fixe deux décimales.
Pour aller plus loin
Sources officielles
Ensuite
C#
Le mémo de C# et .NET : commandes dotnet, types, contrôle du flux, collections, classes, LINQ, exceptions et async.
Conditions, boucles et méthodes
Prendre des décisions avec if et switch, répéter avec for, foreach et while, et ranger son code dans des méthodes réutilisables.
- Projet
- Lignes de code
- Niveau
- Le quartier
- Appartement
- C#
- Pièce
- 1/7
- Plan n°
- csharp/01.premier-programme