Vous êtes sur la page 1sur 26

Chapitre 1

Introduction au Framework .NET et au langage C#

1
Plan

• Présentation du Framework .Net

• Syntaxe de base du langage C#

2
Architecture du .Net

3
Framework .Net est :

• Un environnement cohérent de programmation orientée objet

• Une plateforme pour le développement de différents types


d'applications : Applications console, Applications Windows
ou applications Web et mobiles.
• Un environnement pour supporter différentes phases du cycle
de développement logiciel:
• Codage, exécution et débogage
• Déploiement
• Versionning et maintenance
4
CLR (Common Language
Runtime)
• Le fonctionnement du CLR (Common Language Runtime) est semblable au
JRE de Sun pour Java, il est indépendant de l’architecture de la machine
sous-jacente et prend en charge essentiellement :
• le chargement des classes,
• les vérifications de types,
• la gestion de la mémoire, des exceptions, de la sécurité,
• la traduction à la volée du code MSIL en code natif (compilateur interne
JIT),

5
Bibliothèque de classes
• Toutes les classes prédéfinies sont accessibles telles quelles à tous les
langages du framework
• Elles constituent une bibliothèque de classes très riche qui peut être
étendue par adjonction de nouvelles classes.

• La librairie de classes de .NET Framework est organisée en espaces


de noms hiérarchisés

6
Bibliothèque de classes

7
Exemples de Espaces de noms

Espaces de noms Description


System L'espace de noms System contient des classes fondamentales et des classes de base
qui définissent des types de données valeur et référence, des événements et des
gestionnaires d'événements, des interfaces, des attributs, ainsi que des exceptions
de traitement couramment utilisés.

System.Collections Les espaces de noms System.Collections contiennent des types qui définissent des
objets de collection standard, spécialisés et génériques.
System.Data Les espaces de noms System.Data contiennent des classes pour accéder et gérer des
données à partir de sources diverses. L'espace de noms de niveau supérieur et un
nombre d'espaces de noms enfants forment l'architecture ADO.NET et les
fournisseurs de données ADO.NET. Par exemple, les fournisseurs sont disponibles
pour SQL Server, Oracle, ODBC et OleDB. D'autres espaces de noms enfants
contiennent des classes utilisées par ADO.NET Entity Data Model (EDM) et les
services de données WCF.
System.Linq Les espaces de noms System.Linq contiennent des types qui prennent en charge les
requêtes utilisant LINQ (Language-Integrated Query). Il s'agit notamment des
types qui représentent les requêtes sous forme d'objets dans les arborescences des
expressions.

8
Premier exemple en C#

• La directive using permet de faire référence aux ressources de la librairie


de classes du framework .Net

• L’espace de nom System (prédéfinie dans la librairie) contient des classes


de base les plus fréquemment utilisés. Console est le nom d’une classe de
l’espace System, elle comprend les fonctions de base de la manipulation
des données sous une console DOS.

• Les développeurs peuvent eux même déclarer des espaces de nom avec la
directive namespace; ceci permet d’organiser les classes et les identifier
9
de façon unique
Types en C#
• Types valeur
• Contient des données
• Ne peut être ‘null’
• Primitives int i; float x;
• Enumérations enum State {Off, On}
• Structures struct Point { float x, y:}

• Types référence
• Contient des références vers des objets
• peut être ‘null’
• Racine Object
• Chaîne string
• Classes
• Interfaces
• Tableaux
10
• Delegates
Types en C#

11
Constantes en C#
Syntaxe Générale:
const <Identificateur_de_type> nom=valeur;

12
Exemple 2
using System;

namespace Chap1 {

class Exemple1 {

static void Main(string[] args) {

int i=2;

Console.WriteLine("Type de int i=2 : {0},{1}",i.GetType().Name,i.GetType().FullName);

var j = 3;

Console.WriteLine("Type de var j=3 : {0},{1}", j.GetType().Name, j.GetType().FullName);

}
13
Instruction « if »
If (condition)
{
Bloc d’instructions si condition vraie
}
else
{
Bloc d’instructions si condition fausse
}
Exemple 1

14
Instruction « if »
If (condition)
{
Bloc d’instructions si condition vraie
}
else
{
Bloc d’instructions si condition fausse
}

Exemple 2

15
Instruction « Switch»
switch (variable)
{
case valeur1:
Instruction(s) pour valeur1;
break;

case valeur2:
Instruction(s) pour valeur2;
break;
….
default:
Instruction(s) pour valeur par défaut;
break;
}

16
Structures itératives : boucle « Pour »

17
Structures itératives : boucle « Tant que »

18
Énumérations en C#
• Utiliser le mot clé enum et spécifier les différentes du type énuméré
Exemple

19
Les tableaux en C#
• Un tableau C# est un objet permettant de rassembler sous un même
identificateur des données de même type. Sa déclaration est la suivante :

<identificateur_type>[] <nom_tableau>=new <identificateur_type> [n]

Exemple1:

int[] entiers=new int[] {0,10,20,30};


int[] entiers=new int[4];

Exemple 2:

20
Les tableaux en C#
• System.Array est la classe de base abstraite de tous les types tableau. Vous
avez la possibilité d'utiliser les propriétés et les autres membres de classe de
System.Array.

• une description détaillée de la classe Array est présenté à l’url :


https://msdn.microsoft.com/fr-fr/library/system.array(v=vs.110).aspx

21
Les listes en C#
https://msdn.microsoft.com/fr-fr/library/6sh2ey19%28v=vs.110%29.aspx?cs-save-lang=
1&cs-lang=csharp#code-snippet-1

• la notion de liste est utilisée pour représenter des tableaux dynamiques


Exemple 1: liste d’entiers

Exemple 2: liste de jours

22
Les exceptions en C#

https://msdn.microsoft.com/fr-fr/library/ms173160.aspx

• Les mots clés try, catch et finally sont utilisés pour le traitement des
exceptions en C#.
Exemple

23
Gestion des exceptions en C#

https://msdn.microsoft.com/fr-fr/library/ms173160.aspx

•Délimitez le bloc d’instructions susceptible de lever des exceptions par un bloc try.

• En C#, le mot clé catch est utilisé pour définir un gestionnaire d'exceptions.

• Si aucun gestionnaire d'exceptions pour une exception donnée n'est présent, le


programme cesse de s'exécuter avec un message d'erreur.

• Les exceptions peuvent être générées explicitement par un programme à l'aide du


mot clé throw.

• Les objets Exception contiennent des informations détaillées à propos de l'erreur,


telles que l'état de la pile des appels et une description du texte de l'erreur.

• Le code figurant dans les blocs finally est exécuté même si une exception est levée.
Utilisez un bloc finally pour libérer des ressources, notamment pour fermer tous les
flux ou fichiers qui ont été ouverts dans le bloc try.

24
Les exceptions en C#

https://msdn.microsoft.com/fr-fr/library/ms173160.aspx

• Un bloc try doit avoir au


moins un bloc catch ou un
bloc finally associé.

25
26

Vous aimerez peut-être aussi