SlideShare une entreprise Scribd logo
1  sur  28
Enix Learning (journée du 11/01/2014)
C#
sur .NET
(les bases du langage)
Par Hamoji
Enix Learning (journée du 11/01/2014)
Plan de présentation
PART 1 (les fondamentales)
Introduction
Variables et operateurs
Conditions et boucles
tableau
Méthodes (fonction et procédure)
manipulation de fichier
PART 2 (notions utiles)
POO en C#
les WinForms
les événements
utilisation de la classe Mathématique
Travailler avec le Temps
les interfaces
Les collections
Enix Learning (journée du 11/01/2014)
INTRODUCTION
{ // …
historique et
fonctionnement
}
Bref historique
Le C# (cé Sharp) et le .NET ont été par Anders Hejlsberg (le
créateur du langage Delphi ) alors employé chez Microsoft.
2001 : création du C#
2002: naissance du Framework .Net: 1.0
Les autres versions du .NET: 2.0, 3.0, 3.5, 4.0, 4.5.
Le C# est considéré comme le langage phare de Microsoft
Enix Learning (journée du 11/01/2014)
Utilisation du C#
application de bureau, Développement
mobile (Windows mobile et Android
avec Xamarin), web, surface, jeux vidéo
(unity 3D)…
Enix Learning (journée du 11/01/2014)
Compilation (1)
Enix Learning (journée du 11/01/2014)
La compilation est le processus par lequel un programme dit compilateur traduit le code source en code
binaire exécutable
Exemple compilation de nos bons vieux langages
Compilation (2)
Inconvénients de ce type
Notre programme tourne sur un S.E et un
processeur précis.
Ex: pour faire tourner un programme écrit sous une machine
Windows avec un cpu x86 sous une machine linux avec un cpu
x64, nous devons recompiler le code suivant les spécificité du
systèmes voire faire une modification dans le code pour qu’il
s’adapte à ce dernier
Enix Learning (journée du 11/01/2014)
Compilation (3)
Enix Learning (journée du 11/01/2014)
Notez que le CIL correspond au programme que vous allez distribuer. Sous
Windows il prend l’apparence d’un .exe comme les programme habituels
mais ils ne contient pas de binaire
Le CLR est la machine virtuel (Framework .net) qui interprète le CIL et le transforme en binaire.
Il dispose du JIT debugger qui permet de lancer Visual studio en cas d’erreur dans le programme
.net afin d’afficher la source de l’erreur
Le .NET
Enix Learning (journée du 11/01/2014)
Le traditionnel Hello world!
Enix Learning (journée du 11/01/2014)
Enix Learning (journée du 11/01/2014)
Variables et operateurs
{ // …
Int i ;
i++;
String a = new String();
}
Les variables (1)
Enix Learning (journée du 11/01/2014)
Déclaration
1. Type_C# nom_de_la variable;
2. Type_C# nom_de_la variable = valeur;
Les variables (2)
Enix Learning (journée du 11/01/2014)
Les variables (3)
Les mots clés sizeof et typeof permettent de déterminer respectivement
la taille et le type d’une variable.
Ex: { //… typeof(int) }
Un type particulier: les enumeration;
Enix Learning (journée du 11/01/2014)
Les opérateurs (1)
Enix Learning (journée du 11/01/2014)
Mathématiques (+,-,*, /, %,=)
{
i++ vaut i + 1;
i-- vaut i – 1;
i += 3 vaut i + 3;
i -= 3 vaut i – 3;
i *= 3 vaut i * 3;
i /= 3 vaut i /3;
}
Comparaison (<, >, <=, >=, !=, ==)
{
l’operateur d’égalité est ‘==‘ quant à ‘=‘, il est le symbole d’affectation.
}
Les operateurs (2)
Les operateurs logiques
0 correspond à false (faux)
1 correspond à true (vrai)
NOT(!), AND(&&), OR(||), XOR(^)
Enix Learning (journée du 11/01/2014)
Les opérateurs (3)
L’opérateur ternaire ‘ ? ’
{ a ? b : c; }
a doit etre une expression conditionnelle.
Si a vaut true, b est retourné
Si a vaut false, c est retourné
Enix Learning (journée du 11/01/2014)
Demo
Enix Learning (journée du 11/01/2014)
Enix Learning (journée du 11/01/2014)
Conditions et boucles
{ // …
for (int i; i = 0; i++)
{
}
}
Les conditions
if (condition)
{
}
Else
{
}
Switch (valeur)
{
case val1 {}
break;
case val1 {}
break;
default {}
break;
}
Enix Learning (journée du 11/01/2014)
/*
break sert stopper l’exécution d’une
instruction
*/
Boucles conditionnel
for(int i; i <= 100, i++)
{
}
while (condition)
{
//instruction
}
do
{
//instruction
}
while (condition);
Enix Learning (journée du 11/01/2014)
/*
le mot clé continue sert à faire un saut
d’instruction
*/
Enix Learning (journée du 11/01/2014)
Les tableaux
{ // …
int[] myArray = new int[4];
}
Création de tableaux
Enix Learning (journée du 11/01/2014)
class TestArraysClass {
static void Main()
{
// Declare a single-dimensional array
int[] array1 = new int[5];
// Declare and set array element values
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
// Alternative syntax
int[] array3 = { 1, 2, 3, 4, 5, 6 };
// Declare a two dimensional array
int[,] multiDimensionalArray1 = new int[2, 3];
// Declare and set array element values
int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };
// Declare a jagged array
int[][] jaggedArray = new int[6][];
// Set the values of the first array in the jagged array structure
jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
}
}
Enix Learning (journée du 11/01/2014)
methodes
{ // …
Private void procedure()
{…}
}
Procédure et fonction
Procédure
static void nom_procedure(parametres)
{…}
Fonction
Static string nom_fonction(parametres) // string représente le type de retour de la fonction et peut être changé
{…
return valeur_de_retour_de_la_methode;
}
Enix Learning (journée du 11/01/2014)
Enix Learning (journée du 11/01/2014)
Fichiers
{ // …
}
Notions de Fichiers
Enix Learning (journée du 11/01/2014)
Enix Learning (journée du 11/01/2014)
MERCI A TOUS
Enix.hamoji@hotmail.com
655299370

Contenu connexe

En vedette

Distracted comm 110
Distracted comm 110Distracted comm 110
Distracted comm 110mkaps
 
Case Study Solvay
Case Study Solvay Case Study Solvay
Case Study Solvay it Consult
 
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)iXsystems
 
Sales rep cover letter
Sales rep cover letterSales rep cover letter
Sales rep cover letterpereztracy615
 
research_nurun
research_nurunresearch_nurun
research_nurunLUIS ROY
 
Cara membuat email dengan gmail
Cara membuat email dengan gmailCara membuat email dengan gmail
Cara membuat email dengan gmailJ-Min Jeo Fungsi X
 
Boost sales with_cnam
Boost sales with_cnamBoost sales with_cnam
Boost sales with_cnamFlowroute
 
Administración de empresas semana 3
Administración de empresas   semana 3Administración de empresas   semana 3
Administración de empresas semana 3Anuar Almeida
 
Knowledge box spring 2013: MISE, un cammino verso la logica di processo
Knowledge box spring 2013: MISE, un cammino verso la logica di processoKnowledge box spring 2013: MISE, un cammino verso la logica di processo
Knowledge box spring 2013: MISE, un cammino verso la logica di processoit Consult
 
Case Study Latteria Vipiteno
Case Study Latteria VipitenoCase Study Latteria Vipiteno
Case Study Latteria Vipitenoit Consult
 
Introduction à la recherche d'information avec google
Introduction à la recherche d'information avec googleIntroduction à la recherche d'information avec google
Introduction à la recherche d'information avec googlehamoji hamoji
 
Evaluation Question One
Evaluation Question OneEvaluation Question One
Evaluation Question OneAngrySmurf1
 
josh 6: the Organization Intelligence software
josh 6: the Organization Intelligence software josh 6: the Organization Intelligence software
josh 6: the Organization Intelligence software it Consult
 
Introduction à la recherche d'information
Introduction à la recherche d'informationIntroduction à la recherche d'information
Introduction à la recherche d'informationhamoji hamoji
 

En vedette (20)

Distracted comm 110
Distracted comm 110Distracted comm 110
Distracted comm 110
 
Case Study Solvay
Case Study Solvay Case Study Solvay
Case Study Solvay
 
Ms project
Ms projectMs project
Ms project
 
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
 
Sales rep cover letter
Sales rep cover letterSales rep cover letter
Sales rep cover letter
 
research_nurun
research_nurunresearch_nurun
research_nurun
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Cara membuat email dengan gmail
Cara membuat email dengan gmailCara membuat email dengan gmail
Cara membuat email dengan gmail
 
Fitria utami redhat
Fitria utami redhatFitria utami redhat
Fitria utami redhat
 
Alkana ena-una
Alkana ena-unaAlkana ena-una
Alkana ena-una
 
Boost sales with_cnam
Boost sales with_cnamBoost sales with_cnam
Boost sales with_cnam
 
Charitable Planned Giving
Charitable Planned GivingCharitable Planned Giving
Charitable Planned Giving
 
Dsp 2015 - conference brochure
Dsp 2015 - conference brochureDsp 2015 - conference brochure
Dsp 2015 - conference brochure
 
Administración de empresas semana 3
Administración de empresas   semana 3Administración de empresas   semana 3
Administración de empresas semana 3
 
Knowledge box spring 2013: MISE, un cammino verso la logica di processo
Knowledge box spring 2013: MISE, un cammino verso la logica di processoKnowledge box spring 2013: MISE, un cammino verso la logica di processo
Knowledge box spring 2013: MISE, un cammino verso la logica di processo
 
Case Study Latteria Vipiteno
Case Study Latteria VipitenoCase Study Latteria Vipiteno
Case Study Latteria Vipiteno
 
Introduction à la recherche d'information avec google
Introduction à la recherche d'information avec googleIntroduction à la recherche d'information avec google
Introduction à la recherche d'information avec google
 
Evaluation Question One
Evaluation Question OneEvaluation Question One
Evaluation Question One
 
josh 6: the Organization Intelligence software
josh 6: the Organization Intelligence software josh 6: the Organization Intelligence software
josh 6: the Organization Intelligence software
 
Introduction à la recherche d'information
Introduction à la recherche d'informationIntroduction à la recherche d'information
Introduction à la recherche d'information
 

Similaire à Introduction à la programmation C#

Cours VB 2012 seance 1
Cours VB 2012 seance 1Cours VB 2012 seance 1
Cours VB 2012 seance 1ISIG
 
Découverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanDécouverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanMicrosoft
 
Programmation événementielle avec VB (ISIG)
Programmation événementielle avec VB (ISIG)Programmation événementielle avec VB (ISIG)
Programmation événementielle avec VB (ISIG)ISIG
 
POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java IntroductionMouna Torjmen
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de donnéesISIG
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'artInes Ouaz
 
Presentation Csharp et winforms
Presentation Csharp et winformsPresentation Csharp et winforms
Presentation Csharp et winformsChristophe Zome
 
Csharp1 : quelques elements de base
Csharp1 :  quelques elements de baseCsharp1 :  quelques elements de base
Csharp1 : quelques elements de baseAbdoulaye Dieng
 
mis
mismis
misISIG
 
Le poste de travail sous Linux
Le poste de travail sous LinuxLe poste de travail sous Linux
Le poste de travail sous LinuxParis, France
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la rechercheJohan Moreau
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionYann Caron
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchTarek Halloul
 

Similaire à Introduction à la programmation C# (20)

Cours VB 2012 seance 1
Cours VB 2012 seance 1Cours VB 2012 seance 1
Cours VB 2012 seance 1
 
Découverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanDécouverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet Spartan
 
Programmation événementielle avec VB (ISIG)
Programmation événementielle avec VB (ISIG)Programmation événementielle avec VB (ISIG)
Programmation événementielle avec VB (ISIG)
 
POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java Introduction
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Environnement de développement de bases de données
Environnement de développement de bases de donnéesEnvironnement de développement de bases de données
Environnement de développement de bases de données
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
 
fortran 2.pdf
fortran 2.pdffortran 2.pdf
fortran 2.pdf
 
Presentation Csharp et winforms
Presentation Csharp et winformsPresentation Csharp et winforms
Presentation Csharp et winforms
 
Csharp1 : quelques elements de base
Csharp1 :  quelques elements de baseCsharp1 :  quelques elements de base
Csharp1 : quelques elements de base
 
mis
mismis
mis
 
Le poste de travail sous Linux
Le poste de travail sous LinuxLe poste de travail sous Linux
Le poste de travail sous Linux
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la recherche
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuch
 
Javaoop
JavaoopJavaoop
Javaoop
 
cours6.pdf
cours6.pdfcours6.pdf
cours6.pdf
 
Introduction a Java
Introduction a JavaIntroduction a Java
Introduction a Java
 

Introduction à la programmation C#

  • 1. Enix Learning (journée du 11/01/2014) C# sur .NET (les bases du langage) Par Hamoji
  • 2. Enix Learning (journée du 11/01/2014) Plan de présentation PART 1 (les fondamentales) Introduction Variables et operateurs Conditions et boucles tableau Méthodes (fonction et procédure) manipulation de fichier PART 2 (notions utiles) POO en C# les WinForms les événements utilisation de la classe Mathématique Travailler avec le Temps les interfaces Les collections
  • 3. Enix Learning (journée du 11/01/2014) INTRODUCTION { // … historique et fonctionnement }
  • 4. Bref historique Le C# (cé Sharp) et le .NET ont été par Anders Hejlsberg (le créateur du langage Delphi ) alors employé chez Microsoft. 2001 : création du C# 2002: naissance du Framework .Net: 1.0 Les autres versions du .NET: 2.0, 3.0, 3.5, 4.0, 4.5. Le C# est considéré comme le langage phare de Microsoft Enix Learning (journée du 11/01/2014)
  • 5. Utilisation du C# application de bureau, Développement mobile (Windows mobile et Android avec Xamarin), web, surface, jeux vidéo (unity 3D)… Enix Learning (journée du 11/01/2014)
  • 6. Compilation (1) Enix Learning (journée du 11/01/2014) La compilation est le processus par lequel un programme dit compilateur traduit le code source en code binaire exécutable Exemple compilation de nos bons vieux langages
  • 7. Compilation (2) Inconvénients de ce type Notre programme tourne sur un S.E et un processeur précis. Ex: pour faire tourner un programme écrit sous une machine Windows avec un cpu x86 sous une machine linux avec un cpu x64, nous devons recompiler le code suivant les spécificité du systèmes voire faire une modification dans le code pour qu’il s’adapte à ce dernier Enix Learning (journée du 11/01/2014)
  • 8. Compilation (3) Enix Learning (journée du 11/01/2014) Notez que le CIL correspond au programme que vous allez distribuer. Sous Windows il prend l’apparence d’un .exe comme les programme habituels mais ils ne contient pas de binaire Le CLR est la machine virtuel (Framework .net) qui interprète le CIL et le transforme en binaire. Il dispose du JIT debugger qui permet de lancer Visual studio en cas d’erreur dans le programme .net afin d’afficher la source de l’erreur
  • 9. Le .NET Enix Learning (journée du 11/01/2014)
  • 10. Le traditionnel Hello world! Enix Learning (journée du 11/01/2014)
  • 11. Enix Learning (journée du 11/01/2014) Variables et operateurs { // … Int i ; i++; String a = new String(); }
  • 12. Les variables (1) Enix Learning (journée du 11/01/2014) Déclaration 1. Type_C# nom_de_la variable; 2. Type_C# nom_de_la variable = valeur;
  • 13. Les variables (2) Enix Learning (journée du 11/01/2014)
  • 14. Les variables (3) Les mots clés sizeof et typeof permettent de déterminer respectivement la taille et le type d’une variable. Ex: { //… typeof(int) } Un type particulier: les enumeration; Enix Learning (journée du 11/01/2014)
  • 15. Les opérateurs (1) Enix Learning (journée du 11/01/2014) Mathématiques (+,-,*, /, %,=) { i++ vaut i + 1; i-- vaut i – 1; i += 3 vaut i + 3; i -= 3 vaut i – 3; i *= 3 vaut i * 3; i /= 3 vaut i /3; } Comparaison (<, >, <=, >=, !=, ==) { l’operateur d’égalité est ‘==‘ quant à ‘=‘, il est le symbole d’affectation. }
  • 16. Les operateurs (2) Les operateurs logiques 0 correspond à false (faux) 1 correspond à true (vrai) NOT(!), AND(&&), OR(||), XOR(^) Enix Learning (journée du 11/01/2014)
  • 17. Les opérateurs (3) L’opérateur ternaire ‘ ? ’ { a ? b : c; } a doit etre une expression conditionnelle. Si a vaut true, b est retourné Si a vaut false, c est retourné Enix Learning (journée du 11/01/2014)
  • 19. Enix Learning (journée du 11/01/2014) Conditions et boucles { // … for (int i; i = 0; i++) { } }
  • 20. Les conditions if (condition) { } Else { } Switch (valeur) { case val1 {} break; case val1 {} break; default {} break; } Enix Learning (journée du 11/01/2014) /* break sert stopper l’exécution d’une instruction */
  • 21. Boucles conditionnel for(int i; i <= 100, i++) { } while (condition) { //instruction } do { //instruction } while (condition); Enix Learning (journée du 11/01/2014) /* le mot clé continue sert à faire un saut d’instruction */
  • 22. Enix Learning (journée du 11/01/2014) Les tableaux { // … int[] myArray = new int[4]; }
  • 23. Création de tableaux Enix Learning (journée du 11/01/2014) class TestArraysClass { static void Main() { // Declare a single-dimensional array int[] array1 = new int[5]; // Declare and set array element values int[] array2 = new int[] { 1, 3, 5, 7, 9 }; // Alternative syntax int[] array3 = { 1, 2, 3, 4, 5, 6 }; // Declare a two dimensional array int[,] multiDimensionalArray1 = new int[2, 3]; // Declare and set array element values int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } }; // Declare a jagged array int[][] jaggedArray = new int[6][]; // Set the values of the first array in the jagged array structure jaggedArray[0] = new int[4] { 1, 2, 3, 4 }; } }
  • 24. Enix Learning (journée du 11/01/2014) methodes { // … Private void procedure() {…} }
  • 25. Procédure et fonction Procédure static void nom_procedure(parametres) {…} Fonction Static string nom_fonction(parametres) // string représente le type de retour de la fonction et peut être changé {… return valeur_de_retour_de_la_methode; } Enix Learning (journée du 11/01/2014)
  • 26. Enix Learning (journée du 11/01/2014) Fichiers { // … }
  • 27. Notions de Fichiers Enix Learning (journée du 11/01/2014)
  • 28. Enix Learning (journée du 11/01/2014) MERCI A TOUS Enix.hamoji@hotmail.com 655299370