c Sharp Partie 1
c Sharp Partie 1
c Sharp Partie 1
Notes de
cours de
C#
Par Ir Joseph MUAMBA
Ass1
Année académique
2023-2024
0. INTRODUCTION
Code : C
printf ("Bonjour" );
Le Framework .NET
En résumé
En général, pour que le code soit le plus lisible possible, on écrit une
instruction par ligne et on indente le code de façon à ce que les
blocs soient lisibles. Un bloc de code est délimité par des accolades
{ et }.
L’instruction "Bonjour" représente une chaine de caractères et est
passée en paramètre de la méthode Console.WriteLine à l’aide des
parenthèses. La chaine de caractères est délimitée par les
guillemets. Enfin, le point-virgule permet d’indiquer que l’instruction
est terminée et qu’on peut enchainer sur la suivante.
Code : C#
La complétion automatique
Visual C# express est un formidable outil qui nous facilite à tout
moment la tâche, notamment grâce à la complétion automatique.
La complétion automatique est le fait de proposer de compléter
automatiquement ce que nous sommes en train d’écrire en se
basant sur ce que nous avons le droit de faire.
Par exemple, si vous avez cherché à écrire l’instruction :
Code : C#
Console.WriteLine ("Bonjour") ;
De la même façon, une fois que vous avez fini de saisir « Console »
vous allez saisir le point « . » et Visual Studio va nous proposer toute
une série d’instruction en rapport avec le début de l’instruction :
Nous pourrons ainsi facilement finir de saisir « WriteLine » et ceci
sans erreur d’écriture, ni problème de majuscule.
En résumé
Les variables
Code : C#
int age;
Ici, la variable « age » n’a pas été initialisée, elle ne pourra pas être
utilisée car le compilateur ne sait pas quelle valeur il y a dans la
variable age.
Code : C#
int age ;
age = 30;
Code : C#
int age = 30;
Il est par contre possible d'utiliser des accents dans les noms de
variable, cependant ceci n'est pas recommandé et ne fait pas partie
des bonnes pratiques de développement. En effet, il est souvent
recommandé de nommer ses variables en anglais (langue qui ne
contient pas d'accents).
A noter un détail qui peut paraitre évident, mais toutes les variables
sont réinitialisées à chaque nouvelle exécution du programme. Dès
qu’on démarre le programme, les classeurs sont vidés, comme si on
emménageait dans des nouveaux locaux à chaque fois. Il est donc
impossible de faire persister une information entre deux exécutions
du programme en utilisant des variables. Pour ceci, on utilisera
d’autres solutions, comme enregistrer des valeurs dans un fichier ou
dans une base de données. Nous y reviendrons ultérieurement.
Les différents types de variables
Nous avons vu juste au-dessus que la variable « age » pouvait être
un entier numérique grâce au mot clé int. Le framework .NET
dispose de beaucoup de types permettant de représenter beaucoup
de choses différentes.
Type Description
byte Entier de 0 à 255
short Entier de -32768 à 32767
int Entier de -2147483648 à 2147483647
long Entier de -9223372036854775808 à
9223372036854775807
float Nombre simple précision de -3,402823e38 à
3,402823e38
double Nombre double précision de -1,79769313486232e308 à
1,79769313486232e308
Nombre décimal convenant particulièrement aux calculs
decimal financiers (en raison de ses nombres significatifs après
la virgule)
char Représente un caractère
string Une chaine de caractère
bool Une valeur booléenne (vrai ou faux)
Il est à noter que les variables contiennent une valeur qui ne peut
évoluer qu’en affectant une nouvelle valeur à cette variable.
Code : C#
D’autres opérateurs particuliers existent que nous ne trouvons pas
dans les cours de mathématiques. Par exemple, l’opérateur ++ qui
permet de réaliser une incrémentation de 1, ou l’opérateur -- qui
permet de faire une décrémentation de 1.
Code : C#
Code : C#
Effectue bien la somme des deux âges avant de les diviser par 2, car
les parenthèses sont prioritaires.
Code : C#
Code : C#
affichera :
Code : C#
affichera :
Code : C#
);
Console.WriteLine("Choses à faire :"
Console.WriteLine("\t - Arroser les plantes"
);
Console.WriteLine("\t - Laver la voiture"
);
permettra d’afficher des tabulations, comme illustré ci-dessous :
try{
appel de la fonction susceptible de générer l'exception
} catch (Exception e){
traiter l'exception e
}
instruction suivante
int[] entiers={0,10,20,30};
ou plus simplement :
ou plus simplement :
1. Instruction de lecture
a) Sur la même ligne : Console.In.Read() ;
b) Sur la ligne suivante : Console.In.RealLine() ;
2. Instruction d’Ecriture :
a) Sur la même ligne : Console.Write() ; ou
Console.Out.Write() ;
b) Sur la ligne Suivante ; Console.WriteLine() ; ou
Console.Out.WriteLine() ;
Il s'agit de ce que l'on appelle une condition. Elle est évaluée lors de
l'exécution et en fonction de son résultat (vrai ou faux) nous ferons
telle ou telle chose.
Code : C#
Code : C#
decimal compteEnBanque = 300 ;
if (compteEnBanque >= 0)
Console .WriteLine ("Votre compte est créditeur" );
if (compteEnBanque < 0)
Console .WriteLine ("Votre compte est débiteur" );
Une autre solution est d’utiliser le mot clé else, qui veut dire « sinon
» en anglais.
Code : C#
Code : C#
Code : C#
int age = 30 ;
bool estAgeDe30Ans = age == 30 ;
Console .WriteLine (estAgeDe30Ans ); // affiche True
bool estSuperieurA10 = age > 10 ;
Console .WriteLine (estSuperieurA10 ); // affiche True
bool estDifferentDe30 = age != 30;
Console .WriteLine (estDifferentDe30 ); // affiche False
Code : C#
Code : C#
stringlogin= "Nicolas";
stringmotDePasse= "test";
if (login== "Nicolas"&& motDePasse
== "test"
)
Console
.WriteLine
("Bienvenue Nicolas"
);
else
Console
.WriteLine
("Login incorrect"
);
Remarquons ici que nous avons utilisé le test d’égalité « == », à ne pas confondre avec l’opérateur d’affection « = ».
C’est une erreur classique de débutant.
Code : C#
Un autre opérateur très courant est la négation que l’on utilise avec
l’opérateur « ! ». Par exemple :
Code : C#
Code : C#
Code : C#
if (civilite == "Mme" )
Console .WriteLine ("Vous êtes une femme" );
else if (civilite == "Mlle" )
Console .WriteLine ("Vous êtes une femme non mariée" );
else if (civilite == "M." )
Console .WriteLine ("Vous êtes un homme" );
else
Console .WriteLine ("Je n'ai pas pu déterminer votre civilité" );
Structure de cas
L’instruction switch effectue un aiguillage vers une ou plusieurs
instructions en fonction du contenu d’une variable de contrôle :
switch (val)
{
case valeur : une ou plusieurs instructions;
break;
case valeur : une ou plusieurs instructions;
break;
default : une ou plusieurs instructions;
}
Le passage d’un case à l’autre n’est pas autorisé sauf dans le cas où
la clause case ne comporte aucune instruction. Si une clause case
comporte au moins une instruction, le passage au case suivant n’est
possible qu’en exécutant goto case (voir les exemples ci-après).
switch (val)
{
case 0 : une ou plusieurs instructions;
break;
case 1 :
case 2 : une ou plusieurs instructions;
break;
case 3 : une ou plusieurs instructions;
goto case 4;
case 4 : une ou plusieurs instructions;
break;
default : une ou plusieurs instructions;
}
goto case 2 n’était pas nécessaire au case 1 car il n’y avait là
aucune instruction.
Les Boucles
Quelle que soit la forme de la boucle, les accolades peuvent être
omises si le corps de la boucle se résume à une seule instruction. Un
if, même compliqué, ainsi qu’un do, un while, ou encore un for sont
assimilés à une seule instruction.
while (condition)
{
une ou plusieurs instructions (formant le corps de la boucle) qui sont
exécutées tant que
la condition est vraie ;
}
do
{
une ou plusieurs instructions ;
} while (condition);
Forme for
Ainsi, la boucle :
affiche 0AB1AB23A.
try{
code susceptible de générer une exception
} catch (Exception e){
traiter l'exception e
}
instruction suivante
Si la fonction ne génère pas d'exception, on passe alors à
instruction suivante, sinon on passe dans le corps de la clause catch
puis à instruction suivante.
try{
code susceptible de générer une exception
} catch (Exception e){
traiter l'exception e
}
finally{
code exécuté après try ou catch
}
instruction suivante
Qu'il y ait exception ou pas, le code de la clause finally sera toujours
exécuté.
La classe Exception a une propriété Message qui est un message
détaillant l'erreur qui s'est produite. Ainsi si on veut afficher celui-ci,
on écrira :
Dans ce chapitre nous allons faire nos premiers pas avec le C#.
Nous allons dans un premier temps installer et découvrir les outils
qui nous seront nécessaires pour réaliser des applications
informatiques avec le C#. Nous verrons comment démarrer avec ces
outils et à la fin de ce chapitre, nous serons capables de créer un
petit programme qui affiche du texte simple et nous aurons
commencé à nous familiariser avec l’environnement de
développement.
Bien sûr, vous allez avoir besoin d’un ordinateur, mais a priori, vous
l’avez déjà … S’il n’est pas sous Windows, mais sous linux, vous
pouvez utiliser Mono qui va permettre d’utiliser le C# sous linux.
Cependant, Mono n’est pas aussi complet que le C# et le
framework .NET sous Windows, en l’utilisant vous risquez de passer
à côté de certaines parties du tutoriel.
Un puissant éditeur
Un compilateur
Un environnement d’exécution
Visual studio crée alors pour nous les fichiers composant une
application console vide, qui utilise le C# comme langage et que
nous avons nommé Ma_Premiere_Application.
Les mots présents dans cette zone sont ce qu’on appelle des
instructions de langage. Elles vont nous permettre d’écrire notre
programme.
Console.WriteLine ("Bonjour") ;
de manière à avoir :