Nouveau : Datasets open source gratuits disponibles !Decouvrir →
🟣
Debutant 25 min C#

Debuter avec C#

Voici un tutoriel approfondi en français pour débuter avec C#, respectant la structure et les règles données :

Pourquoi C# ?

C# est une langue de programmation moderne, polyvalente et très populaire dans le développement d'applications modernes. Elle est principalement utilisée par Microsoft pour développer des applications Windows, des jeux vidéo avec Unity, des applications web avec .NET Core et des services cloud.

Cas d'usage concret

Un développeur C# peut être employé dans une variété de secteurs, comme le développement logiciel d’entreprise, l’éducation en ligne, la création de jeux vidéo ou le développement d’application mobile.

Prerequis

Avant de commencer avec C#, assurez-vous que vous avez les compétences suivantes :

  • Connaissance de base de l'informatique et des systèmes d'exploitation
  • Familiarité avec un éditeur de code (Visual Studio, Visual Studio Code, JetBrains Rider)
  • Capacité à lire et comprendre le code C#

Vous devrez installer les outils suivants :

  • .NET SDK : Il s'agit du Kit de développement logiciel .NET, qui est nécessaire pour développer des applications .NET. Vous pouvez télécharger la dernière version depuis dotnet.microsoft.com.
  • Visual Studio Code : Un éditeur de code open source et puissant. Il peut être téléchargé à partir de code.visualstudio.com.

Concepts fondamentaux

Variables et Types de Données

Les variables sont des conteneurs qui stockent les données dans le programme. C# supporte plusieurs types de données.

// Déclaration d'une variable entière
int age = 25;

// Déclaration d'une variable chaîne de caractères
string nom = "John";

// Déclaration d'une variable booléenne
bool estMajeur = true;

Opérations sur les Variables

Vous pouvez effectuer des opérations sur les variables en utilisant des opérateurs arithmétiques.

int a = 10;
int b = 5;

// Addition
int somme = a + b; // somme vaut 15

// Soustraction
int difference = a - b; // difference vaut 5

// Multiplication
int produit = a * b; // produit vaut 50

// Division
int quotient = a / b; // quotient vaut 2

Structures de Contrôle

C# fournit plusieurs structures de contrôle pour organiser le flux du programme.

// Condition if-else
if (age >= 18)
{
    Console.WriteLine("Majeur");
}
else
{
    Console.WriteLine("Mineur");
}

// Boucle for
for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

// Boucle while
int j = 0;
while (j < 3)
{
    Console.WriteLine(j);
    j++;
}

Fonctions et Méthodes

Les fonctions permettent de regrouper des instructions en blocs réutilisables.

// Déclaration d'une fonction
void AfficherMessage(string message)
{
    Console.WriteLine(message);
}

// Appel de la fonction
AfficherMessage("Bonjour le monde !");

Mise en pratique : Projet fil rouge

Nous allons construire un mini-projet réaliste : un Gestionnaire de Tâches.

Étape 1 : Création du Projet

Ouvrez Visual Studio Code et créez un nouveau projet .NET Console App :

dotnet new console -n TaskManager
cd TaskManager

Étape 2 : Ajout des Classes

Créer deux fichiers Task.cs et Program.cs.

Task.cs

using System;

public class Task
{
    public string Description { get; set; }
    public bool IsCompleted { get; set; }

    public Task(string description)
    {
        Description = description;
        IsCompleted = false;
    }

    public void MarkAsComplete()
    {
        IsCompleted = true;
    }

    public override string ToString()
    {
        return $"{Description} - {(IsCompleted ? "Terminée" : "Non terminée")}";
    }
}

Program.cs

using System;
using System.Collections.Generic;

class Program
{
    static List<Task> tasks = new List<Task>();

    static void Main(string[] args)
    {
        while (true)
        {
            Console.WriteLine("1. Ajouter une tâche");
            Console.WriteLine("2. Marquer une tâche comme terminée");
            Console.WriteLine("3. Afficher toutes les tâches");
            Console.WriteLine("4. Quitter");
            Console.Write("Choisissez une option : ");
            string choice = Console.ReadLine();

            switch (choice)
            {
                case "1":
                    AddTask();
                    break;
                case "2":
                    MarkTaskAsComplete();
                    break;
                case "3":
                    DisplayTasks();
                    break;
                case "4":
                    return;
                default:
                    Console.WriteLine("Option invalide.");
                    break;
            }
        }
    }

    static void AddTask()
    {
        Console.Write("Entrez la description de la tâche : ");
        string description = Console.ReadLine();
        tasks.Add(new Task(description));
        Console.WriteLine("Tâche ajoutée avec succès !");
    }

    static void MarkTaskAsComplete()
    {
        DisplayTasks();
        if (tasks.Count > 0)
        {
            Console.Write("Entrez le numéro de la tâche à marquer comme terminée : ");
            int index = Convert.ToInt32(Console.ReadLine()) - 1;
            if (index >= 0 && index < tasks.Count)
            {
                tasks[index].MarkAsComplete();
                Console.WriteLine("Tâche marquée comme terminée !");
            }
            else
            {
                Console.WriteLine("Numéro de tâche invalide.");
            }
        }
    }

    static void DisplayTasks()
    {
        if (tasks.Count > 0)
        {
            for (int i = 0; i < tasks.Count; i++)
            {
                Console.WriteLine($"{i + 1}. {tasks[i]}");
            }
        }
        else
        {
            Console.WriteLine("Aucune tâche n'est enregistrée.");
        }
    }
}

Étape 3 : Exécution du Projet

Exécutez le projet :

dotnet run

Erreurs fréquentes et debugging

Voici quelques erreurs courantes et leur correction.

Erreur 1 : Variable non déclarée

Code incorrect :

int result = x + y; // erreur car x et y ne sont pas définis

Code correct :

int x = 5;
int y = 3;
int result = x + y;

Erreur 2 : Type de données incorrect

Code incorrect :

string age = "18"; // erreur car on essaie d'affecter une chaîne à une variable entière
int parsedAge = int.Parse(age);

Code correct :

string ageString = "18";
int parsedAge = Convert.ToInt32(ageString);

Erreur 3 : Accès au tableau hors limites

Code incorrect :

int[] numbers = { 1, 2, 3 };
Console.WriteLine(numbers[3]); // erreur car l'index est dépassé

Code correct :

int[] numbers = { 1, 2, 3 };
if (numbers.Length > 3)
{
    Console.WriteLine(numbers[3]);
}
else
{
    Console.WriteLine("Index hors limites");
}

Pour aller plus loin

Défi pratique

Créez une application simple pour gérer des contacts. L'application devrait permettre d'ajouter, de modifier et de supprimer des contacts, ainsi que d'afficher la liste complète des contacts.

Bon appétit avec votre tutoriel en C#! N'hésitez pas à me poser des questions si vous avez besoin de plus de détails.

Besoin d'aide sur C# ?

Besoin d'aide sur un projet technique ? Decrivez-le pour des conseils personnalises.

Recevoir des conseils

Questions frequentes

Quel est le langage C# utilisé pour ?
C# (prononcé 'C Sharp') est principalement utilisé pour développer des applications Windows, des jeux avec Unity, des plateformes de serveur Web (.NET Core), et des applications mobiles avec Xamarin.
Quels sont les avantages de C# comme langage de programmation ?
C# offre un grand écosystème de bibliothèques et de frameworks, une syntaxe fluide et intuitive, des performances élevées, ainsi que la possibilité de développer pour plusieurs plateformes avec sa plateforme .NET.
Où peut-on apprendre à utiliser C# ?
Il existe de nombreux cours en ligne gratuits comme les tutoriels sur Microsoft Learn, Udemy, et Coursera. De plus, des livres d'apprentissage dédiés sont également disponibles.

Pages liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.