Quelques éléments de base 
M. DIENG Abdoulaye 
Introduction au C#
Sommaire 
1. Présentation du C# 
2. Plateforme .NET 
3. Types primitifs 
4. Entrée et sortie de base 
5. Tableaux 
6. Boucle foreach 
7. Passage de paramètres
Présentation de C# 
• Créé par Anders Hejlsberg de Microsoft en 2001 
• Langage OO, inspiré de C++ et proche de Java 
• Normalisé par ECMA et ISO 
• Principal langage de la plateforme .NET. 
• Il est précompilé en MSIL (Microsoft Intermediate Language), 
puis exécuté sur une machine virtuelle 
• Permet de développer diverses applis (Win, Web, mobile, …) 
• Il est non déclaratif (pas d'en-tête) 
• La directive « using » permet de simplifier l'accès aux 
fonctionnalités des namespaces 
• Comme en Java, le point d'entrée est la méthode statique 
« Main » de la classe de l'application
Plateforme .NET 
C# J# VB.NET … 
COMMON LANGUAGE SPECIFICATION 
spécifications communes à tous les langages 
ASP.NET 
Web Forms et Web Services 
Windows Forms 
ADO.NET et XML 
Librairie des classes de base 
(System.IO, System.Data, System.Windows, …) 
COMMON LANGUAGE RUN-TIME 
(compilateur JIT du MSIL, chargeur de classe, garbage collector, …) 
SYSTÈME D’EXPLOITATION
Types primitifs
Entrée et sortie de base 
sortie 
• Permettent l’interactivité entre le programme et l’utilisateur 
• La classe Console fournit les méthodes d’entrée/sortie 
• Console.Write(expression) et 
Console.WriteLine(expression) permettent d’écrire une 
chaîne de caractères sur la console de l’écran 
• La seconde fait un saut de ligne après l’écriture 
• Exemples : 
– Console.Write("BONJOUR"); 
– Console.WriteLine(nbr1+" + "+nbr2+" = "+som); 
– Console.WriteLine("{0}+{1}={2}",nbr1,nbr2,som); 
– Console.WriteLine();
Entrée et sortie de base 
entrée 
• Console.Read() lit le prochain caractère entré dans la 
console et le renvoie sous la forme d‘un entier. 
• Console.ReadLine() lit une ligne entrée dans la console et 
la renvoie sous la forme d’une chaîne de caractères 
• type_nombre.Parse(Console.ReadLine()) permet de 
convertir la chaîne renvoyée en nombre de type type_nombre 
• Exemple : 
int nbr; 
nbr = int.Parse(Console.ReadLine());
Entrée et sortie de base 
exemple 
• Exemple : 
using System; 
namespace exemple1_1{ 
class Program{ 
static void Main(string[] args){ 
Console.WriteLine("Entrez un entier : "); 
int i = int.Parse(Console.ReadLine()); 
Console.WriteLine("Le carre de {0} est {1}",i,i*i); 
} 
} 
}
Tableaux 
• Un tableau est un objet 
• Déclaration 
type[] nomTableau; 
• Allocation 
nomTableau = new type [taille]; 
• Pré-initialisation 
nomTableau = new type []{ val1, val2, …. }; 
ou <type>[] <nomTableau>={ val1, val2, …. }; 
• L'attribut Length donne la taille du tableau.
Boucle foreach 
• La boucle foreach répète un traitement pour chaque élément 
d'un tableau ou d'une collection d‘éléments 
• Foreach ne permet pas de modifier les éléments 
• Syntaxe 
foreach (typeElement element in collectionDéléments) 
{ 
// Code utilisant element courant 
}
Passage de paramètre 
• Par valeur 
– Paramètre effectif accessible qu’en lecture 
– Passage par défaut 
• Par référence 
– Paramètre effectif accessible en lecture et en écriture 
– Syntaxe : typeRslt nomMeth(ref typeParam param) {…} 
• Paramètre en sortie 
– Paramètre effectif accessible qu’en écriture 
– Syntaxe : typeRslt nomMeth(out typeParam param) {…} 
• ref ou out doit aussi précédé un paramètre effectif

Csharp1 : quelques elements de base

  • 1.
    Quelques éléments debase M. DIENG Abdoulaye Introduction au C#
  • 2.
    Sommaire 1. Présentationdu C# 2. Plateforme .NET 3. Types primitifs 4. Entrée et sortie de base 5. Tableaux 6. Boucle foreach 7. Passage de paramètres
  • 3.
    Présentation de C# • Créé par Anders Hejlsberg de Microsoft en 2001 • Langage OO, inspiré de C++ et proche de Java • Normalisé par ECMA et ISO • Principal langage de la plateforme .NET. • Il est précompilé en MSIL (Microsoft Intermediate Language), puis exécuté sur une machine virtuelle • Permet de développer diverses applis (Win, Web, mobile, …) • Il est non déclaratif (pas d'en-tête) • La directive « using » permet de simplifier l'accès aux fonctionnalités des namespaces • Comme en Java, le point d'entrée est la méthode statique « Main » de la classe de l'application
  • 4.
    Plateforme .NET C#J# VB.NET … COMMON LANGUAGE SPECIFICATION spécifications communes à tous les langages ASP.NET Web Forms et Web Services Windows Forms ADO.NET et XML Librairie des classes de base (System.IO, System.Data, System.Windows, …) COMMON LANGUAGE RUN-TIME (compilateur JIT du MSIL, chargeur de classe, garbage collector, …) SYSTÈME D’EXPLOITATION
  • 5.
  • 6.
    Entrée et sortiede base sortie • Permettent l’interactivité entre le programme et l’utilisateur • La classe Console fournit les méthodes d’entrée/sortie • Console.Write(expression) et Console.WriteLine(expression) permettent d’écrire une chaîne de caractères sur la console de l’écran • La seconde fait un saut de ligne après l’écriture • Exemples : – Console.Write("BONJOUR"); – Console.WriteLine(nbr1+" + "+nbr2+" = "+som); – Console.WriteLine("{0}+{1}={2}",nbr1,nbr2,som); – Console.WriteLine();
  • 7.
    Entrée et sortiede base entrée • Console.Read() lit le prochain caractère entré dans la console et le renvoie sous la forme d‘un entier. • Console.ReadLine() lit une ligne entrée dans la console et la renvoie sous la forme d’une chaîne de caractères • type_nombre.Parse(Console.ReadLine()) permet de convertir la chaîne renvoyée en nombre de type type_nombre • Exemple : int nbr; nbr = int.Parse(Console.ReadLine());
  • 8.
    Entrée et sortiede base exemple • Exemple : using System; namespace exemple1_1{ class Program{ static void Main(string[] args){ Console.WriteLine("Entrez un entier : "); int i = int.Parse(Console.ReadLine()); Console.WriteLine("Le carre de {0} est {1}",i,i*i); } } }
  • 9.
    Tableaux • Untableau est un objet • Déclaration type[] nomTableau; • Allocation nomTableau = new type [taille]; • Pré-initialisation nomTableau = new type []{ val1, val2, …. }; ou <type>[] <nomTableau>={ val1, val2, …. }; • L'attribut Length donne la taille du tableau.
  • 10.
    Boucle foreach •La boucle foreach répète un traitement pour chaque élément d'un tableau ou d'une collection d‘éléments • Foreach ne permet pas de modifier les éléments • Syntaxe foreach (typeElement element in collectionDéléments) { // Code utilisant element courant }
  • 11.
    Passage de paramètre • Par valeur – Paramètre effectif accessible qu’en lecture – Passage par défaut • Par référence – Paramètre effectif accessible en lecture et en écriture – Syntaxe : typeRslt nomMeth(ref typeParam param) {…} • Paramètre en sortie – Paramètre effectif accessible qu’en écriture – Syntaxe : typeRslt nomMeth(out typeParam param) {…} • ref ou out doit aussi précédé un paramètre effectif