Ce document couvre les bases du langages phares de Microsoft qu'est le C# (C sharp). On va de l'initiation au Framework .NET à la résolution des algorithmes de bases.
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
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
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
*/
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 };
}
}
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)