Cours C#
Cours C#
INTRODUCTION
Dot. Net frame Works est une plate-forme révolutionnaire développer par
Microsoft pour développer des applications. Une chose intéressante à cette
définition est qu’elle vague mains qu’il y a plusieurs raisons à cela. Pour
commenter cette plate-forme fonctionne pas uniquement que des Windows
phone, on peut le déployé sur d’autre système non Windows.
La plate- forme ne pose pas de restriction sur les types d’application
à développer. Ainsi on peut y développer des types d’applications suivants :
Desktop application;
Windows store application;
Web application;
Web services;
Application sure- mesure;
La plate-forme est conçue pour être utilisées avec des langages tels que :
Le C#;
Cobol;
Visual basic;
Java script;
C++.
Elle est constituée d’une librairie de code qu’on utilise avec des langages
clients comme le C# en employant des technique de programmations
orientés objet. Cette librairie comprendre plusieurs modules, on utilise le
module qui nous intéresse en fonctions des résultats que l’on veut obtenir.
Un module comprend un bloc de code pour les applications Windows, un
autre pour la programmation réseau et un autre pour la programmation
web. Dans le but d’exécuter un code c#, le code doit être utilisées dans un
langage que le système d’exploitation comprend, comme sous le nom dans
un code natif. Cette conversation est appelé compilation du code (opération
exécuté par un compilateur).
1|Page
Les étapes :
Code c #
ccccc cccc
3. Quand le code est exécuté, il doit d’abord être compilé en code natif avec
le compilateur JIT(Just In Time)
4 Le code natif est exécuté dans contexte CLR (Common Langage Rutine).
La syntaxe basique de C#
{
< Ligne de code 1, déclaration1> ;
< Ligne de code 2, déclaration 2> ;
< Ligne de code, déclaration2> ;
}
Les Commentaires :
/* */
2|Page
//*
Variables :
- Type simple inclus les types comme des nombres et les valeurs
booléen qui constituent les blocs de nos applications
Ulong System.Uint64 0 à
184446744073709551615
3|Page
TABLEAU DE TYPE FLOTTANTS :
{
int var_entier;
string caractere;
var_entier=17;
caractere="La variable a pour valeur:";
[Link] ("{0} {1}", caractere,var_entier);
(Il permettre d’afficher une valeur)
[Link]();
}
}
4|Page
Les opérateurs mathématiques
5|Page
Les opérateurs d’incrémentations et de décrémentations :
Exercice
6|Page
Solution:
{
double firstnumber,secondnumber
string usename ;
[Link] ("donner le nom d'utilisateur");
username= [Link] ();
[Link] ("Bienvenue{0}", username);
[Link] ("Entrer le premier nombre");
firstnumber=[Link]( [Link]());
[Link] ("Entrer le seconde nombre nombre");
secondnumber=Convert. ToDouble( [Link]());
[Link] ("La sonne de{0} et {1} vaut {2}",
firstnumber+secondnumber );
[Link] ("La difference de {0} et {1} vaut {2} ",
firstnumber - secondnumber );
[Link]("Le produit de {0} et {1} vaut {2}", firstnumber*
secondnumber );
[Link]();
}
}
}
}
7|Page
Les Espaces et Nom :
C’est la moyenne utiliser par [Link] pour fournir des contenus afin
d’identifier.
Les espaces de nom sont également utilisés pour catégoriser l’entité dans
la [Link] t. La plus part ses entités sont les types de définition (type
simple)
Le code C# est par défaut contenu dans un espace de mot globale. Ce qui
veut dire que les entités contenus dans autre code dans l’espace globale
simplement à leur nom. Cependant, on peut utiliser le mot clé NAMESPACE
pour définir de façon explicite l’espace de nom d’un bloc de code entre {}.
Namespace PremierNiveau
{
//Code contenus dans le namespace PremierNiveau
//name « PremierNom » Defined
}
Namespace PremierNiveau
{
//code contenus dans le namespace « Premier Niveau »
Namespace Deuxième Niveau
}
//code contenus dans Premier [Link]
//name « Deuxieme Niveau » Difined
}
//code contenus dans le namespace globale, pour faire référence à
deuxieme nom contenus qui est contenus dans namespace
premierDeuxieme à partir dans namespace premierNiveau :
DeuxiemeNiveau. DeuxiemeNom.
8|Page
Après avoir définir une espace de nom, on utilise le mot clé using et
facilement accéder à son contenus
Namespace PremierNiveau
{
Using DeuxièmeNiveau
Namespace Deuxième Niveau
}
//code contenus dans Premier [Link]
//name « Deuxieme Niveau » Difined
}
}
//code contenus dans namespace globale.
FIN
9|Page
La logique Booléen le type Boole présenter dans chapitre précédant qu’on
peut deux valeurs suivant : true ou false
Ce type est souvent utilisé pour récupérer le résultat, d’une opération ainsi
on peut agir sur ce résultat.
Le type Boole est utilisé pour stocker le résultat d’une comparaison. Une
comparaison booléenne requière les opérateurs de comparaison ou
opérateur relationnelle.
Déclaration IF :
Les déclarations if n’ont pas de résultat (vous ne pouvez pas les utilisés
pour les assignations), au contraire on utilise pour exécuter d’autre
déclaration en utilisant des conditions. L’utilisation simple d’if est la
suivante, ou < test > évalué, le reste de déclaration est exécuté si le test
renvoie TRUE. If (<test>)
Apres l’exécution de ce code, s’il n’est pas exécuté car le <test> à renvoie
false, Le programme d’exécution exécute la ligne qui suit on peut aussi
10 | P a g e
spécifier d’autre code en utilisant la déclaration else en combinaison avec
if. Cette déclaration est exécuté si <test> renvoie false
If < test>
{
<test à exécuter si <test> renvoie « true »> ;
}
Else
{
<code à exécuter si <test> renvoie « false »> ;
}
Exemple :
Déclaration de Switch
11 | P a g e
Default :
<code à exécuter si< valeur_à_tester> !=<valeur_à_comparer>>
Break ;
}
La boucle For
12 | P a g e
Introduction :
En C# les fonctions permet d‘avoir des blocs de code qui peuvent exécutés
n’est porte quelles moment dans une application.
Pour qu’une fonction puis renvoi des valeurs, nous devrons la modifier
de 2 façons :
Spécifier le type de la valeur renvoyée lors de la déclaration de la
fonction le mot clé void ; Utiliser le mot clé return afin de renvoyer une
valeur.
Return
<type_ renvoyé> <nom_de_la_fonction ( )
{
Return <valeur_ renvoyée
}
Remarque : La valeur renvoyée doit être soit de même type type renvoyé
ou doit peut être implicitement converti au type de valeur renvoyé.
DELEGATE : C’est un type qui nous permet de stocker les références d’une
condition. Les DELEGATE sont déclaré comme une fonction mais sans le port
de la fonction avec le mot clé DELEGATE.
13 | P a g e
Lors de la déclaration, on spécifie le type renvoyer et le diffèrent
paramètre. Après la définition d’un DELEGATE, on peut créer une variable
qui porte le même type que le DELEGATE et aussi l’initialisé, une fois la
variable initialisé, on l’utilise pour faire référence à n’est porte quelle
fonction qui a le même type de valeur de retour et paramètres.
Par Exemple:
class Program
{
delegate double ProcessDelegate(double param1, double param2) ;
static double multype(double param1, double param2)
{
return param1*param2 ;
}
static double divide(double param1, double param2)
{
return param1 / param2;
}
static void main(String [] args)
{
ProcessDelegate proces;
[Link] ("Entrer un nombre de type double :");
double param1=[Link] ([Link] ());
[Link] ("Entrer un nombre de type double:");
double param2=[Link] ([Link]()) ;
[Link]("Entrer M pour multiplier ou D pour diviser:") ;
string input=[Link]( ) ;
if(input=="M")
process=new ProcessDelegate (multiply);
else
process=new ProcessDelegate(divide) ;
[Link]("Result{0}",process(param1,param2)) ;
[Link]( );
}
14 | P a g e
Les services de media : ils fournissent un système intègre pour la
réalisation de l’interface utilisateur avec des éléments comme : des
images, des audois et des vidéos.
Les Templates : Avec WPF on peut définie la façon avec laquelle
un élément doit s’affiché grâce aux Templates.
Les Animations : Elles permettent d’avoir des interactions sur les
mouvements et sur l’interface de l’utilisateur.
Direct 3D : Il permet l’affichage des graphique Customisation
(modifie l’apparence) des thèmes.
Par exemple:
<Stackpanel avec Oreintation=’’Horizonatal ‘’>
<Textbock text=’’Hello!’’>
<<\Stackpanel>
15 | P a g e
C’est un puissant Framework qui nous permet de réaliser des applications
Windows. WPF a été premièrement introduit avec [Link]…0 par la suite
plusieurs caractéristique ont été introduite qui en suivie
Architecture WPF
Avant WPF, les autres interfaces des applications tels que : MFCT et
Windows chrome faisaient appelle à plusieurs GDI32 et User32. WPF
utilise quant à lui utilise de façon réduite utilisation User32. Ainsi, WPF fait
partie de :
[Link]
Il contient le nombre de code gérer et non gérer
Presentation Framework
Presentation Core
Milcore
Presentation Famework
Presentation _CoreCLR
Presentation Famework
CLR
Milcore
User32 DirectX
Kerlnel
Presentation Famework
16 | P a g e
Presentation =Framework et Presentation Core ont été écrit à l’aide
de code gérable ou manipulable.
Milcore =fait partie des codes qui ne sont pas gérable et permet
d’intégration avec DirectX
CLR : permet d’avoir un processus de développement plus productif
en offrons les caractéristique talque : la gestion de la mémoire.
17 | P a g e
Combox box : C’est un menu déroulant permettent à l’utilisateur
de faire un choix.
Contexte menu : C’est un menu contextuel.
Data bride : Il affiche une grille qu’on peut cust
Dialogue : Une application peut aussi afficher des paramètres pour
permettre à l’utilisateur de
View : C’est un contrôle qui présente une collection d’élément de
façon horizontal sur plusieurs lignes et colonne.
Image : Contrôle permettant d’afficher une image.
Label : Affiche un texte dans un formulaire et fournir un support
pour les clients d’accès.
Menu : Il permet d’avoir des menus.
Password Box : C’est un contrôle qui permet de
Pop-up : Il affiche le contenus les plus visites d’ensemble de
contenue.
Progress Bar : Il affiche une progression
Radio Button : Il permet à l’utilisateur de faire des zooms d’un
contenu.
Texte Bloc : Contrôle permettant d’affiché un texte.
Toggel Button : C’est un button à 2 étapes les infos d’un élément.
Tool Tipe : C’est un pop-up qui permet d’afficher les infos d’un
Windows : Il permet de réduire ou agrandir la borne de titre la
bordure et la fenêtre.
La Classe Button: représente les types de contrôle me plus basic
des contrôles buttons les différentes classes en Button.
Objet
Dependency objet
UI Element
Il permet
Frame work element
Controle
18 | P a g e
Les propriétés usuelles de la classe BUTTON :
Background
BorderBrush
Borderthickness
Content
ClickMode
Contentemplate
FontFamily
FontStyle
FontSize
FontWeight
Foregroung
Height
HorizontalAlignment
IsEnabled
IsPresed
Margin
Name
Opacity
Ressources
Style
Template
VerticalAlignment
Visibility
Width
Click
Data context changed
DragEnter
DragLeave
DragOver
DragStarting
GetFocus
Holding
IsEnabledChanged
KeyDown
KeyUp
LostFocus
SizeChanged
Objet
Dependancy Objet
UI élément
Contrôle
Framework Elément
Calendar
20 | P a g e
Exemple:
<Window x:Class="[Link]"
xmlns="[Link]
xmlns:x="[Link]
Title="MainWindow" Height="350" Width="525">
<Grid>
<Calendar HorizontalAlignment="Left" Margin="20"
VerticalAlignment="Top"/>
<[Link]>
<CalendarDateRange Start="1/2/2017" End="1/4/2017"/>
<CalendarDateRange Start="1/9/2017" End="1/9/2017"/>
<CalendarDateRange Start="1/16/2017" End="1/16/2017"/>
<CalendarDateRange Start="1/25/2017" End="1/25/2017"/>
<CalendarDateRange Start="1/30/2017" End="1/30/2017"/>
</[Link]>
<[Link]>
<sys:DateTime>1/5/2017</sys:DateTime>
<sys:DateTime>1/12/2017</sys:DateTime>
<sys:DateTime>1/14/2017</sys:DateTime>
<sys:DateTime>1/13/2017</sys:DateTime>
<sys:DateTime>1/15/2017</sys:DateTime>
<sys:DateTime>1/27/2017</sys:DateTime>
<sys:DateTime>4/2/2017</sys:DateTime>
</[Link]>
<[Link]>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFE4EAF0" Offset="0"/>
<GradientStop Color="#FFECFOF4" Offset="0.16"/>
<GradientStop Color="#FFFCFCFD" Offset="0.16"/>
<GradientStop Color="#FFD80320" Offset="1"/>
</LinearGradientBrush>
</[Link]>
</Grid>
</Window>
Exemple: [Link]
F.I.N
22 | P a g e
CORRECTION D’EXAMEN
DOT NET : Est une plate-forme révolutionnaire crée par Microsoft pour
développer des applications.
C#
C++
Visual basic
Cobiel
Script
Il comprend un bloc:
Application Windows
Pagination réseaux
Développement web
Code Natif : c’est le code source que le SE doit converti afin d’exécuter.
<type><nom de variable> ;
23 | P a g e
Quels sont les 3 opérateurs booléens ?
1. Operateur booléenne
2. Operateur de conditionnels booléens
3. Operateur d’Assignation
Enumération (Enum)
Structure (Struct)
Tableaux (Arrags)
Énumération : Permet de définir une donnée correspondant à un
ensemble ordonné d’éléments de valeur.
24 | P a g e
Déclaration de Switch:
break ;
break ;
default ;
break ;
Contrôle de flux :
Exemple :
int myval
Bool inferieur-10 ;
Inferieur_10=myval<10 ;
25 | P a g e
Params : permet de faire appel à une fi=onction en utilisant plusieurs
paramètres.
Reference : permet de se référer à une valeur contenue dans un
argument envoyé à une fonction.
Porté d’une Variable : elle permet de définir l’accessibilité de la variable
dans un programme donné.
Exercice :
using System;
using [Link];
using [Link];
using [Link];
using [Link];
namespace ConsoleApplication4
{
class Program
{
static int div(int a, int b)
{
d=a/b;
return d;
}
static void Main(string[] args)
{
int a1=10, b1=2,resultat;
resultat=div(a1/b1);
[Link]("{0}",resultat);
[Link] ( )
}
}
}
26 | P a g e
Exercice de la Moyenne de kossi
using System;
using [Link];
using [Link];
using [Link];
using [Link];
namespace KOSSI
{
class Program
{
static float calcul(float x1, float x2, float x3, float x4, float x5)
{
float M;
M = (x1 * 2 + x2 * 3 + x3 + x4 * 2 + x5 * 2) / 10;
return M;
}
static void Main(string[] args)
{
float j = 12, r = 15, a = 14, b = 12, l = 13, resultat;
[Link]("Entrer la note en java=:");
j = [Link]([Link]());
[Link]("Entrer la note en reseau=:");
r = [Link]([Link]());
[Link]("Entrer la note en algorithme=:");
a = [Link]([Link]());
[Link]("Entrer la note en base de données=:");
b = [Link]([Link]());
[Link]("Entrer la note en langage c#=:");
l = [Link]([Link]());
resultat = calcul(j, r, a, b, l);
[Link]("La moyenne de KOSSI est= {0}", resultat);
[Link]();
}
}
}
27 | P a g e
Exercice qui permet d’affiché son résultat:
using System;
using [Link];
using [Link];
using [Link];
using [Link];
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
int i = 10, j = 5;
if (i < 5 && j++ < 10) [Link]("&&1 vai");
else [Link]("&&1 faux");
[Link]("i = " + i + " j= " + j);
if (i < 5 & j++ < 10) [Link]("& vai");
else [Link]("& faux");
[Link]("i =" + i + "j=" + j);
if (i < 15 && j++ < 10) [Link]("&&2 vrai");
else [Link]("&&2 faux");
[Link]("i = " + i + " j =" + j);
if (i < 15 || j++ < 10) [Link]("||vrai");
else
[Link]("|| faux");
[Link]("i = " + i + " j =" + j);
[Link]();
}
}
}
Correction
&&1 faux
i = 10 j= 5
& faux
i =10j=6
&&2 vrai
i = 10 j =7
||vrai
i = 10 j =7
28 | P a g e