Vous êtes sur la page 1sur 23

C# : Prsentation des

bases du langage

Plan
1.
2.
3.
4.

Les bases dun programme C#


Utilisation des types C#
prdfinis
Les oprateurs
Les oprateurs conditionnels et
ditrations

1. Les bases dun programme


C#

La structure dun programme C#

Le formatage en C#

La structure dun programme


C#
Lexcution dun programme
commence avec Main()

Le mot cl using fait rfrence une


ressource du framework .NET

Un petit exemple
using
using System;
System;
class
class HelloWorld
HelloWorld {{
static
static void
void Main()
Main() {{
Console.WriteLine
Console.WriteLine ("Hello,
("Hello, World");
World");
}}
}}

Le formatage en C#

Utilisez lindentation entre les


{}

C# est case sensitive

Les commentaires

Pour une seule ligne : //


Pour un bloc de lignes : /* */

2.

Utilisation des types C#


prdfinis
Les types prdfinis dans le CTS
Dclarer et initialiser les
variables
Dclarer et initialiser les chanes
de caractres
Crer et utiliser les constantes
Crer et utiliser les types
numrs
Comment effectuer les
conversions entre les diffrents

Les types prdfinis dans le CTS


(Compatible CLS)
Catgorie
Entier

Nombre flottants

Logique

Classe
Byte

Description
Entier non sign
de 8-bit

Version C#
byte

Int16

Entier sign de
16-bit

short

Int32

Entier sign de
32-bit

int

Int64

Entier sign de
64-bit

long

Single

Nombre flottant
avec une prcision
de 32-bit

float

Double

Nombre flottant
avec une prcision
de 64-bit

double

Boolean

Valeur boolenne
(true ou false).

bool

Les types prdfinis dans le CTS


(Compatible CLS)
Catgorie
Autre

Classe

Classe
Char

Description
Caractre
Unicode (16-bit)

Version C#
char

Decimal

Valeur dcimale
sur 128-bit

decimal

IntPtr

Entier sign dont la


taille dpend de la
plateforme cible
(32-bit ou 64-bit)

IntPtr

Object

La racine de la
hirarchie des
objets

object

String

Chane de
caractres
Unicode
immuable et de
taille fixe

string

Dclarer et initialiser les


variables
Dclaration
1

Choisir un type
2 Donner un nom
3 Terminer avec ;

Initialisation
string
string ours
ours =
= "Grizzly";
"Grizzly";

decimal
decimaldeposit
deposit=
=10.5M;
10.5M;

int
intnombreDeVisiteurs;
nombreDeVisiteurs;
string
stringours;
ours;

Dclarer et initialiser les chanes


de caractres
Exemple

simple

string
string ss =
= "Hello
"Hello World";
World"; //
// Hello
Hello World
World
Dclarer

une chane entre guillemets

string
string ss =
= "\"Hello\"";
"\"Hello\""; //
// "Hello"
"Hello"
Gestion

des caractres protgs

string
string ss =
= "Hello\nWorld";
"Hello\nWorld"; //
// Hello
Hello World
World sur
sur 22 lignes
lignes
Les

chanes @

string
string ss =
= c:\\Docs\\Source\\a.txt";
c:\\Docs\\Source\\a.txt"; //devient
//devient plutt
plutt ::
string
string ss =
= @c:\Docs\Source\a.txt";
@c:\Docs\Source\a.txt";

Crer et utiliser les constantes

Dclaration avec le mot cl


const suivi dun type

Vous devez assigner une


valeur au moment de la
dclaration

const
constint
intrayonTerre
rayonTerre=
=6378;//km
6378;//km
const
constlong
longdistanceSoleilMoy
distanceSoleilMoy=
=149600000;//km
149600000;//km
const
constdouble
doublevitesseRotationMoy
vitesseRotationMoy=
=29.79D;//km
29.79D;//kmsec
sec

Crer et utiliser les types numrs

Dfinition des types numrs

enum
enum Planete
Planete {{
Mercure,
Mercure,
Venus,
Venus,
Terre,
Terre,
Mars
Mars
}}

Utilisation

Planete
Planete maPlanete
maPlanete == Planete.Terre;
Planete.Terre;

Affichage des variables

Console.WriteLine("{0}",
Console.WriteLine("{0}", maPlanete);
maPlanete); //Affiche
//Affiche Terre
Terre

Comment effectuer les conversions entre


les diffrents types
Implicites

Effectues par le compilateur sur les oprations ne


faisant pas perdre de linformation

int
int xx == 123456;
123456; //
// int
int est
est un
un entier
entier de
de 44 octets
octets
long
long yy == x;
x; //
// conversion
conversion implicite
implicite vers
vers un
un long
long de
de 88 octets
octets

Explicites

Lorsque vous demandez explicitement au


compilateur deffectuer une conversion qui est
susceptible de faire perdre de linformation

int
int xx == 65537;
65537;
short
z
=
short z = (short)
(short) x;
x;
//
// conversion
conversion explicite
explicite vers
vers un
un short
short de
de 22 octets,
octets, zz ==
== 11

3. Les oprateurs
Prsentation

oprateurs

Prsentation

des diffrents

de la prcdence
des oprateurs

Prsentation des diffrents oprateurs


Oprateurs
Oprateurs classiques
classiquesExemple
Incrment /
dcrment
Arithmtique
Relationnel
galit
Conditionnel
Affectation

++ -* / % + < > <= >=


== !=
&& || ?:
= *= /= %= += -=
<<= >>= &= ^=
|=

Prsentation de la prcdence des


oprateurs

Les Expressions sont values en fonction de la


prcdence des oprateurs
10
10+
+20
20//55

Les parenthses peuvent tre utilises pour


contrler lordre dvaluation
(10
(10+
+20)
20)//55
10
10+
+(20
(20//5)
5)

le
lersultat
rsultatest
est14
14

le
lersultat
rsultatest
est66
le
lersultat
rsultatest
est14
14

La prcdence des oprateurs est galement


dtermine par leur associativit
Les oprateurs binaires sont valus de gauche
droite
a + b + c + d = (((a+b) + c) + d)

Les oprateurs daffectations et de conditions

4. Les oprateurs
conditionnels et ditrations
Linstruction

if
Linstruction
switch
Linstruction
Linstruction
while
Linstruction

conditionnelle
conditionnelle
ditration for
ditration
ditration do

Linstruction if
if
if
if (( ventes
ventes >
> 10000
10000 )) {{
+=
+= .05
.05 ** ventes;
ventes;
}}

if

bonus
bonus

else if

if
if (( ventes
ventes >
> 10000
10000 )) {{
bonus
bonus +=
+= .05
.05 ** ventes;
ventes;
}}
else
bonus
else if
if (( ventes
ventes >
> 5000
5000 )) {{
bonus =
= ..
01
01 ** ventes;
ventes;
}}
else
{{
else
bonus
bonus =
= 0;
0;
if
if (( prcdentBonus
prcdentBonus ==
== 00 )) {{
//PrendreUnRDV;
//PrendreUnRDV;
}}
}}

if

else

if
if (( ventes
ventes >
> 10000
10000 )) {{
bonus
bonus +=
+= .05
.05 ** ventes;
ventes;
}}
else
else {{
bonus
bonus =
= 0;
0;
}}

Linstruction switch
Exemp
Exemp
le
le
int
int lunes;
lunes;
switch
switch (maPlanete){
(maPlanete){
case
case Planete.Mercure:
Planete.Mercure:
lunes
lunes =
= 0;
0;
break;
break;
case
case Planete.Venus:
Planete.Venus:
lunes
lunes =
= 0;
0;
break;
break;
case
case Planete.Terre:
Planete.Terre:
lunes
lunes =
= 1;
1;
break;
break;
default:
default:
lunes
lunes =
= -1;
-1;
break;
break;
}}

Linstruction ditration for


A utiliser lorsque vous savez combien
de fois vous dsirez rpter
lexcution
ducondition;
code itration)
for
for (initialisation;
(initialisation; condition;
itration) {{
}}

lignes_de_code;
lignes_de_code;

Exemp
Exemp
le
le

for
for (int
(int ii =
= 0;
0; ii <
< 10;
10; i++)
i++) {{
Console.WriteLine("i
Console.WriteLine("i =
= {0}",i);
{0}",i);
}}
for
for (( int
int jj =
= 100;
100; jj >
> 0;
0; jj -=
-= 10
10 )) {{
Console.WriteLine("j
Console.WriteLine("j =
= {0}",
{0}", j);
j);
}}

Linstruction ditration while


Un

test boolen est excut au dbut de la


boucle : sil retourne faux, la boucle nest
jamais excute

La

boucle est excute jusqu ce que la


condition devienne fausse
bool
bool lireLeFichier;
lireLeFichier;
//// .. .. ..
while
while (( lireLeFichier
lireLeFichier ==
== true
true )) {{
LitLaProchaineLigne();
LitLaProchaineLigne();
}}

continue

pour passer litration suivante


break pour sortir de la boucle

Linstruction ditration do
Excute le code de la boucle et ensuite
effectue un test boolen. Si la
condition reste vrai, la boucle continue
alors jusqua ce quelle devienne
fausse
do {
do {
//
// quelque
quelque chose
chose qui
qui doit
doit au
au moins
moins arriver
arriver
//
// une
une fois
fois
}} while
while (condition
(condition is
is true);
true);
Exemp
Exemp
le
le

int
int ii =
= 1;
1;
do
do {{
Console.WriteLine
Console.WriteLine ("{0}",
("{0}", i++);
i++);
}} while
while (i
(i <=
<= 10);
10);

Lab. 1: Dveloppement dune


calculatrice dpargne
Hands-on
Hands-on Lab.
Lab.

Exercice
Exercice #1:
#1: criture
criture

de
de la
la calculatrice
calculatrice
dpargne
dpargne

Exercice
Exercice #2:
#2:
Extension
Extension de
de la
la
calculatrice
calculatrice

1 heure