🎯 Les Bases du C#
Découverte du langage de programmation C#
💻 Qu'est-ce que le C# ?
🎯 Définition Fondamentale
C# (prononcé "C Sharp") est un langage de programmation orienté objet développé par Microsoft. Il fait partie de la plateforme .NET et combine la puissance du C++ avec la simplicité du Visual Basic.
Orienté Objet
Tout est objet en C#. Le langage utilise les concepts de classes, objets, héritage et encapsulation.
Fortement Typé
Chaque variable doit avoir un type défini. Cela permet de détecter les erreurs dès la compilation.
Multiplateforme
Fonctionne sur Windows, Linux, macOS grâce à .NET Core et .NET 5+.
Géré par le CLR
Le Common Language Runtime gère automatiquement la mémoire et l'exécution.
💡 Le saviez-vous ? C# a été créé en 2000 par Anders Hejlsberg, le même développeur qui a créé Turbo Pascal et Delphi !
🔢 Types de Données Fondamentaux
🎯 Types Numériques
C# propose plusieurs types pour représenter les nombres : les entiers pour les nombres entiers et les décimaux pour les nombres à virgule.
byte
8 bits - 0 à 255
byte age = 25;
int
32 bits - Type entier le plus courant
int score = 1500;
long
64 bits - Très grands nombres
long population = 7800000000L;
float
32 bits - ~7 chiffres de précision
float prix = 19.99f;
double
64 bits - ~15-17 chiffres de précision
double pi = 3.14159265359;
decimal
128 bits - Précision financière
decimal salaire = 2500.50m;
📝 Types Texte et Caractères
C# distingue les caractères individuels (char) des chaînes de caractères (string).
char
Caractère unique entre apostrophes simples.
char lettre = 'A';
string
Chaîne de caractères entre guillemets doubles.
string nom = "Jean Dupont";
bool
Valeur booléenne : true ou false.
bool estMajeur = true;
💻 Exemples de Déclarations
// Types numériques
int nombre = 42;
double prix = 19.99;
decimal salaire = 2500.50m;
// Types texte
char lettre = 'A';
string message = "Bonjour le monde !";
// Type booléen
bool estVrai = true;
bool estFaux = false;
📦 Variables et Déclarations
🎯 Déclaration de Variables
En C#, chaque variable doit être déclarée avec un type avant d'être utilisée. Vous pouvez déclarer puis initialiser, ou faire les deux en même temps.
Déclaration Simple
Déclarer une variable avec son type, puis l'initialiser séparément.
Déclaration + Initialisation
Déclarer et initialiser une variable en une seule instruction.
Mot-clé var
Laisser le compilateur déduire automatiquement le type.
💻 Syntaxes de Déclaration
// Déclaration puis initialisation
int nombre;
nombre = 42;
// Déclaration avec initialisation
int autreNombre = 100;
// Déclaration multiple
int a, b, c;
int x = 1, y = 2, z = 3;
// Avec le mot-clé var (type déduit)
var nom = "Alice"; // string
var age = 25; // int
var prix = 19.99; // double
var estActif = true; // bool
⚠️ Attention : Avec
var
, l'initialisation est obligatoire car le compilateur doit pouvoir déduire le type !
🧮 Opérateurs
🎯 Opérations en C#
C# propose de nombreux opérateurs pour effectuer des calculs, des comparaisons et des opérations logiques.
+
Addition
Additionne deux nombres
-
Soustraction
Soustrait le second du premier
*
Multiplication
Multiplie deux nombres
/
Division
Divise le premier par le second
%
Modulo
Reste de la division entière
++
Incrémentation
Ajoute 1 à la variable
💻 Exemples d'Opérations Arithmétiques
int a = 10, b = 3;
int somme = a + b; // 13
int difference = a - b; // 7
int produit = a * b; // 30
int quotient = a / b; // 3 (division entière)
int reste = a % b; // 1
// Division décimale
double quotientDecimal = (double)a / b; // 3.333...
// Incrémentation
int compteur = 5;
compteur++; // compteur = 6
++compteur; // compteur = 7
==
Égal à
Compare l'égalité
!=
Différent de
Compare la différence
>
Supérieur à
Compare la supériorité
<
Inférieur à
Compare l'infériorité
&&
ET logique
Vrai si les deux sont vrais
||
OU logique
Vrai si au moins un est vrai
💻 Exemples de Comparaisons et Logique
int age = 20;
bool permis = true;
// Comparaisons
bool estMajeur = age >= 18; // true
bool estMineur = age < 18; // false
// Opérateurs logiques
bool peutConduire = age >= 18 && permis; // true
bool besoinFormation = age < 18 || !permis; // false
💬 Entrées et Sorties Console
🎯 Interaction avec l'Utilisateur
C# utilise la classe Console pour afficher des informations et récupérer les saisies de l'utilisateur.
Console.WriteLine
Affiche du texte suivi d'un retour à la ligne. Méthode principale pour l'affichage.
Console.ReadLine
Lit une ligne de texte saisie par l'utilisateur. Retourne toujours une chaîne.
Conversion de Types
Utilise Parse() ou TryParse() pour convertir les chaînes en nombres.
💻 Affichage avec Console.WriteLine
// Affichage simple
Console.WriteLine("Bonjour le monde !");
// Affichage de variables
string nom = "Alice";
int age = 25;
Console.WriteLine("Nom : " + nom);
Console.WriteLine("Age : " + age);
// Interpolation de chaînes (moderne)
Console.WriteLine($"Je m'appelle {nom} et j'ai {age} ans.");
// Formatage avec placeholders
Console.WriteLine("Nom : {0}, Age : {1}", nom, age);
💻 Saisie avec Console.ReadLine
// Saisie de texte
Console.Write("Entrez votre nom : ");
string nom = Console.ReadLine();
// Saisie de nombres
Console.Write("Entrez votre age : ");
string ageTexte = Console.ReadLine();
int age = int.Parse(ageTexte);
// Méthode plus sûre avec TryParse
Console.Write("Entrez un nombre : ");
string input = Console.ReadLine();
if (int.TryParse(input, out int nombre))
{
Console.WriteLine($"Vous avez saisi : {nombre}");
}
else
{
Console.WriteLine("Ce n'est pas un nombre valide !");
}
⚠️ Important :
Console.ReadLine()
retourne toujours une chaîne de caractères. Pour traiter des nombres, il faut convertir avec int.Parse()
ou int.TryParse()
.
🎯 Programme Complet
🎯 Structure d'un Programme C#
Voici un exemple complet qui utilise tous les concepts vus dans ce cours.
💻 Calculatrice Simple
using System;
class Program
{
static void Main()
{
// Affichage du titre
Console.WriteLine("=== Calculatrice Simple ===");
// Saisie du premier nombre
Console.Write("Entrez le premier nombre : ");
string input1 = Console.ReadLine();
double nombre1 = double.Parse(input1);
// Saisie du second nombre
Console.Write("Entrez le second nombre : ");
string input2 = Console.ReadLine();
double nombre2 = double.Parse(input2);
// Calculs
double somme = nombre1 + nombre2;
double difference = nombre1 - nombre2;
double produit = nombre1 * nombre2;
// Affichage des résultats
Console.WriteLine($"\nRésultats :");
Console.WriteLine($"{nombre1} + {nombre2} = {somme}");
Console.WriteLine($"{nombre1} - {nombre2} = {difference}");
Console.WriteLine($"{nombre1} × {nombre2} = {produit}");
// Gestion de la division par zéro
if (nombre2 != 0)
{
double quotient = nombre1 / nombre2;
Console.WriteLine($"{nombre1} ÷ {nombre2} = {quotient:F2}");
}
else
{
Console.WriteLine("Division par zéro impossible !");
}
Console.WriteLine("\nAppuyez sur une touche pour quitter...");
Console.ReadKey();
}
}
🎯 Points clés à retenir :
• Types de base : int, double, string, bool, char
• Variables : Déclaration avec type explicite ou var
• Opérateurs : Arithmétiques, comparaison, logiques
• Console : WriteLine pour afficher, ReadLine pour saisir
• Conversion : Parse() et TryParse() pour convertir les types
• Types de base : int, double, string, bool, char
• Variables : Déclaration avec type explicite ou var
• Opérateurs : Arithmétiques, comparaison, logiques
• Console : WriteLine pour afficher, ReadLine pour saisir
• Conversion : Parse() et TryParse() pour convertir les types