0% ont trouvé ce document utile (0 vote)
57 vues15 pages

Résumé du cours de C# et .NET

C# est un langage de programmation moderne et puissant, utilisé principalement avec la plateforme .NET pour le développement d'applications multiplateformes. Le document présente les composants clés de .NET, les frameworks ASP.NET et MAUI, ainsi qu'un comparatif entre C# et Java. Il aborde également la syntaxe de base, les structures de contrôle, les boucles et des exemples pratiques de code en C#.

Transféré par

awamiekountou
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
57 vues15 pages

Résumé du cours de C# et .NET

C# est un langage de programmation moderne et puissant, utilisé principalement avec la plateforme .NET pour le développement d'applications multiplateformes. Le document présente les composants clés de .NET, les frameworks ASP.NET et MAUI, ainsi qu'un comparatif entre C# et Java. Il aborde également la syntaxe de base, les structures de contrôle, les boucles et des exemples pratiques de code en C#.

Transféré par

awamiekountou
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

RESUME DU COURS DE C#

P a g e 1 | 15
Introduction

C# est un langage puissant, moderne et riche en fonctionnalités, idéal pour le


développement sur toutes les plateformes. Il concurrence fortement Java dans presque tous
les domaines, et le dépasse dans certains comme le développement de jeux, les
applications Windows ou la programmation web avec Blazor.

.NET : la plateforme

Qu’est-ce que .NET ?

.NET est une plateforme de développement open-source créée par Microsoft, conçue pour
permettre aux développeurs de créer des applications performantes, sécurisées et
multiplateformes : Windows, Linux, macOS, web, mobile, cloud, IoT, etc.

Composants principaux :

• CLR (Common Language Runtime) : Le moteur d’exécution, qui gère la mémoire, la


sécurité, les threads, etc.

• BCL (Base Class Library) : Une bibliothèque riche en fonctionnalités (fichiers, dates,
collections, LINQ, cryptographie...).

• Langages supportés : C#, F#, [Link].

.NET 5/6/7/8 (unification de la plateforme)

Avant, il y avait plusieurs .NET (.NET Framework, .NET Core, Xamarin, etc.). Aujourd’hui, tout
est unifié sous .NET.

[Link] : pour le web

Qu’est-ce que [Link] ?

[Link] est un framework de développement web basé sur .NET, utilisé pour construire :

• des sites web dynamiques,

• des applications web,

• des API REST,

• et maintenant même des applications web interactives avec Blazor.

P a g e 2 | 15
[Link] Core

• Multiplateforme (Windows, Linux, macOS)

• Très rapide (performances comparables à [Link], Go, etc.)

• Séparation claire des couches (MVC : Model – View – Controller)

• Intégration facile avec Entity Framework Core (ORM)

• Sécurité intégrée (authentification, autorisation, JWT, etc.)

Composants populaires :

• [Link] MVC : pour le web classique avec vues Razor

• [Link] Web API : pour créer des APIs REST

• Blazor : apps web côté client avec C# (au lieu de JavaScript)

Xamarin : pour le mobile (aujourd’hui remplacé par MAUI)

Qu’est-ce que Xamarin ?

Xamarin permet de développer des applications mobiles multiplateformes (Android, iOS,


Windows) en utilisant C# et .NET.

MAUI (Multi-platform App UI)

Xamarin est désormais remplacé par .NET MAUI, qui :

• Unifie le développement mobile (Android/iOS) et desktop (Windows/macOS)

• Utilise un seul projet, une seule base de code

• Est mieux intégré à l’écosystème .NET moderne

Résumé

Technologie Domaine Multiplateforme Langage Utilisation


principal principale
.NET Plateforme de ok C#, F#, Tout (web, mobile,
développement [Link] desktop, cloud,
etc.)
[Link] Développement web ok C# Sites web, APIs,
Blazor
P a g e 3 | 15
Xamarin Mobile natif partagé ok C# Apps Android &
iOS (remplacé par
MAUI)
.NET MAUI UI multiplateforme ok C# Mobile + desktop
(mobile + desktop) avec un seul projet

P a g e 4 | 15
Tableau comparatif : Java vs C#

Aspect Java C# Remarques


pédagogiques
Plateforme JVM (Java Virtual .NET (Core ou Framework) C# nécessite .NET,
principale Machine) Java la JVM.
Syntaxe de base Très proche du C Très proche de Java On peut
et C++ facilement se
repérer
Type de typage Fortement typé, Fortement typé, statique Les deux imposent
statique la déclaration de
types.
Main public static void static void Main(string[] args) Différences de
main(String[] casse (Main,
args) String, etc.).
Packages / package namespace MonNamespace { Même principe,
Namespaces [Link]; ... } mots-clés
différents.
Importation import [Link].*; using System; using en C#,
import en Java.
Classes Toujours Peuvent être internes Plus de flexibilité
publiques dans (internal) ou publiques de visibilité en C#.
un fichier séparé
Getters/Setters Méthodes Propriétés : public string Nom Les propriétés
explicites getX(), { get; set; } simplifient l'accès
setX() aux données.
Constructeurs Simples, comme Similaires, mais peuvent être C# permet : this()
en C++ chaînés et : base() pour
enchaîner.
Interfaces interface interface Fonctionnent de
manière très
similaire.
Héritage Simple (une seule Pareil Pas d'héritage
classe), multiple multiple de classes
via interfaces dans les deux.
Enums Moins riches Plus puissants (peuvent Enums de C# sont
(valeurs int contenir des méthodes) plus expressifs.
implicites)
Collections ArrayList, List<T>, Dictionary<K,V>, etc. Approche
HashMap, etc. ([Link]) générique plus
(Java Collections) élégante en C#.
Exceptions Checked et Seulement unchecked C# ne force pas la
unchecked déclaration de
toutes les
exceptions.
Mémoire GC automatique GC automatique Tous deux ont un
ramasse-miettes
P a g e 5 | 15
(Garbage
Collector).
Lambdas / (x) -> x + 1 x => x + 1 Très proches, juste
Expressions la syntaxe change.
Lambda
Threads Thread, Thread, Task, async/await En C#, les Tasks et
Runnable, async/await sont
ExecutorService plus modernes.
Interface JavaFX, Swing Windows Forms, WPF, MAUI C# offre de
graphique meilleures
solutions natives
Windows.
Applications JSP, Spring Boot [Link] MVC, Blazor [Link] Core est
Web très puissant pour
le web.
Mobile Android avec Java Xamarin (.NET MAUI C# permet le
maintenant) développement
multiplateforme
plus unifié.
Interopérabilité Faible (via JNI) Excellente (natif Windows) C# est le langage
avec Windows de prédilection
pour Windows.
Compilation Compile en Compile en IL (Intermediate Les deux sont
bytecode pour la Language) compilés dans un
JVM langage
intermédiaire.
IDE principaux IntelliJ IDEA, Visual Studio, Rider Visual Studio est
Eclipse très intégré et
performant pour
C#.
Déploiement .jar, .war .exe, .dll, .csproj, .app C# permet des
exécutables
autonomes, plus
pratiques parfois.

• Points de ressemblance : syntaxe générale, POO, typage fort, exceptions, collections.

• Spécificités C# : plus d'intégration Windows, propriétés simplifiées, tâches


asynchrones (async/await), outils modernes (Visual Studio, MAUI, WPF...).

• Pièges à éviter : syntaxe des propriétés, gestion des exceptions, noms en majuscules
(ex : String vs string).

P a g e 6 | 15
1. Présentation de C# et de .NET

Éléments Détails

C# Langage orienté objet créé par Microsoft (2000), moderne et sécurisé

.NET Plateforme logicielle open source multi-OS (Windows, Linux, macOS)

CLR Common Language Runtime : machine virtuelle .NET

Compilation Compile en IL (Intermediate Language), comme le bytecode en Java

Exécutable .exe ou .dll, exécution via dotnet ou le CLR

Équivalent Java C# = Java ; .NET = JVM + bibliothèques

2. Syntaxe de base – C# vs Java

Élément Java C#
Classe principale public class MainClass class Program

Point d’entrée public static void main(String[] args) static void Main(string[] args)
Impression à l’écran [Link]("Hello"); [Link]("Hello");
Types de variables int, double, String int, double, string (minuscule)
Fin de ligne ; ;

3. Premier programme – Hello World

// [Link]
using System;

class Program
{
static void Main(string[] args)
{
[Link]("Bonjour le monde !");
}
}

P a g e 7 | 15
Création d’un projet en mode console et lancer la compilation

dotnet new console -n HelloWorld


cd HelloWorld
dotnet run

4. Comparatif visuel rapide de la syntaxe : Java vs C#

Élément Java C#
Commentaire // commentaire // commentaire

Importation import [Link]; using System;


Print [Link]("Bonjour"); [Link]("Bonjour");

Classe public class Main {} class Program {}

Main public static void main(String[] args) static void Main(string[] args)

Exemple :

Objectif : faire une addition de deux nombres saisis par l’utilisateur.

using System;

class Program
{
static void Main()
{
[Link]("Entrer un nombre : ");
double a = [Link]([Link]());

[Link]("Entrer un autre nombre : ");


double b = [Link]([Link]());

double somme = a + b;
[Link]("La somme est : " + somme);
}
}

1. Déclaration des variables : C# vs Java

P a g e 8 | 15
Élément Java C#

Type primitif int, double, boolean int, double, bool

Chaîne de caractères String (majuscule) string (minuscule)

Déclaration int age = 20; int age = 20;

Constante final double PI = 3.14; const double PI = 3.14;

Mot-clé var (local) (non utilisé) var nombre = 5;

Remarques :

• string est un alias de [Link]

• bool en C#, et non boolean comme en Java

• var en C# permet l’inférence de type (mais reste typé statiquement !)

2. Types de base en C#

Type Description Exemple

int Entier int age = 21;

double Flottant double pi = 3.14;

bool Booléen (true/false) bool majeur = true;

char Caractère char lettre = 'A';

string Chaîne string nom = "Jean";

P a g e 9 | 15
3. Opérateurs en C#

Type Opérateurs Exemple (C#)

Arithmétiques +-*/% int x = 5 + 2;

Logiques `&&

Comparaison == != < > <= >= if (x != y)

Affectation = += -= *= /= a += 10;

Incr./Décr. ++ -- x++; ou --y;

4. Conversion des types

Type de conversion Java C#

Implicite int → double int x = 5; double y = x;

Explicite (int) (int)myDouble;

String → int [Link]("12") [Link]("12");

Int → String [Link](42) [Link]();

Sécurisée - [Link](str, out int x)

Exemple TryParse :

string saisie = "42";


if ([Link](saisie, out int valeur))
{
[Link]("Conversion réussie : " + valeur);
}
else
{
P a g e 10 | 15
[Link]("Erreur de conversion.");
}

5. Exercice : Convertisseur de température

Objectif : créer un programme qui convertit des degrés Celsius en Fahrenheit

using System;

class Program
{
static void Main()
{
[Link]("Température en °C : ");
double celsius = [Link]([Link]());

double fahrenheit = (celsius * 9 / 5) + 32;


[Link]("En °F : " + fahrenheit);
}
}

Structures conditionnelles, booléens et opérateurs logiques

1. Les conditions if, else if, else

Élément Java C#

Syntaxe basique if (a > 0) { ... } if (a > 0) { ... }

else if, else idem idem

booléens boolean bool

expressions if (age >= 18 && [Link]("M")) if (age >= 18 && sexe == "M")

Remarques :

• Pas de == sur les chaînes en Java, mais possible en C#

P a g e 11 | 15
• C# est strictement typé : pas de conversion implicite de int vers bool

2. Structure switch

Java C#
switch (choix) { case 1: ... } switch (choix) { case 1: ... }

Depuis Java 14 : switch en flèche C# supporte aussi les expressions


default default
break obligatoire break également en C#

En C#, on peut aussi écrire :

switch (jour)
{
case "lundi":
case "mardi":
[Link]("Début de semaine");
break;
default:
[Link]("Autre jour");
break;
}

3. Opérateurs logiques et de comparaison

Type Opérateurs Exemple C#

Logiques && (et), `

Comparaison ==, !=, <, >=, etc. if (nom == "Jean")

Booléens bool estValide = true;

[Link] – Détecteur d’admission

Créez un programme qui lit la moyenne d’un étudiant et affiche :

• “Admis” si ≥ 10

• “Rattrapage” si entre 7 et 10
P a g e 12 | 15
• “Ajourné” sinon

using System;

class Program
{
static void Main()
{
[Link]("Entrez votre moyenne : ");
double moyenne = [Link]([Link]());

if (moyenne >= 10)


[Link]("Admis !");
else if (moyenne >= 7)
[Link]("Rattrapage.");
else
[Link]("Ajourné.");
}
}

P a g e 13 | 15
Boucles while, for, foreach en C#

1. Boucle while et do...while

Élément Java C#

while while (i < 5) {...} while (i < 5) {...}

do...while do {...} while(cond); do {...} while(cond);

Exemple :

int i = 0;
while (i < 5)
{
[Link]("i = " + i);
i++;
}

2. Boucle for

Java C#
for (int i = 0; i < 10; i++) Idem

for (int i = 1; i <= 10; i++)


{
[Link]($"Table de 2 : 2 x {i} = {2 * i}");
}

3. Boucle foreach

Java C#

for (int val : tab) foreach (int val in tab)

P a g e 14 | 15
Utilisée avec tableaux, listes Idem

int[] nombres = {1, 2, 3, 4};


foreach (int n in nombres)
{
[Link](n);
}

4. TP – Calculatrice de table de multiplication

L’utilisateur entre un nombre, et le programme affiche la table de multiplication de ce


nombre jusqu’à 12.

[Link]("Entrez un nombre : ");


int n = [Link]([Link]());

for (int i = 1; i <= 12; i++)


{
[Link]($"{n} x {i} = {n * i}");
}

P a g e 15 | 15

Vous aimerez peut-être aussi