Présentation
En anglaisRÉSUMÉ
Le langage C# ou C sharp est le dernier né des langages de programmation orienté objet. Étroitement lié à la plate-forme .NET, il envahit peu à peu le milieu industriel. Ce langage moderne introduit quelques nouveautés parmi de nombreux langages orientés objets existant. Conçu par Anders Heljsberg, de Microsoft, C# est un langage de programmation à objets, qui combine des éléments provenant essentiellement de C/C++ et de Java.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
The C# language or C sharp is the last born of object-oriented programing languages. Closely lined to the .NET platform it gradually pervades the industrial environment. This modern language introduces a few novelties among the numerous existing object-oriented languages. Conceived by Anders Heljsberg from Microsoft, C# is an object programming language that combines elements from essentially C/C and Java.
Auteur(s)
-
Michel RIVEILL : Professeur à l’Université de Nice – Sophia Antipolis
-
Samuel WEIBEL : Ingénieur informatique chez Ascom SA (Suisse)
INTRODUCTION
Le langage C# (ou C sharp) est le dernier né des langages de programmation orienté objet. Étroitement lié à la plate-forme .NET, il envahit peu à peu le milieu industriel. Dans ce fascicule, nous abordons quelques-unes des principales facettes de ce langage moderne qui introduit quelques nouveautés parmi de nombreux langages orientés objets existant.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
2. Principales caractéristiques du langage C#
2.1 Espace de noms de C#
Le concept d’espace de nom a été emprunté à C++. Il permet de vérifier plus facilement que tous les noms employés dans un programme particulier sont uniques. Il est ainsi possible d’avoir dans deux espaces de noms différents le même nom. Par exemple, la classe « Personne » dans l’exemple suivant :
namespace ArbreGenealogique {
class Personne { .... }
}
namespace Banque {
class Personne { .... }
}
Si l’on souhaite utiliser la classe « Personne », il suffit de préciser laquelle : « ArbreGenealogique.Personne » ou « Banque.Personne ». Une autre solution revient à utiliser la directive « using » qui précise l’espace de nom utilisé. Il est inutile par la suite de le qualifier à la condition de n’utiliser qu’un seul des espaces de nom définissant le nom :
using Banque ;
class Agence {
Personne p[] ; // il s’agit de 'Banque.Personne'
}
Plusieurs fichiers peuvent participer à la définition du même espace de nom. Celui-ci contiendra in fine l’ensemble des noms définis dans chacun des fichiers. L’architecture .NET définit plus de quatre-vingt-dix espaces de noms commençant par le mot System et cinq espaces de noms commençant par le mot Microsoft. Si un nom est défini sans espace de noms, il appartient de fait à l’espace de noms global.
HAUT DE PAGE2.2 Types valeurs et références. Boxing et unboxing
Comme la plupart des langages de programmation à objets, le langage C# (en fait comme sur de nombreux point, le framework .NET) distingue deux modèles de type (voir figure 1) :
-
le type valeur : ce sont les types de base (bool, char, int et float), les types énumérés (enum) et les types structurés (struct). Les valeurs sont directement allouées dans la pile ou dans les classes créées. La valeur d’un tel type contient directement les bits représentant la donnée valeur. Par exemple, une valeur de type int correspondra à une case mémoire de 4 octets....
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Principales caractéristiques du langage C#
BIBLIOGRAPHIE
-
(1) - PERROT (J.-F.) - Langages à objets - , Langages à objets. Techniques de l’Ingénieur (1995).
-
(2) - SERRANO (M.) - Langage C++ - , Langage C++. Techniques de l’Ingénieur (2003).
-
(3) - BELLOT (P.), MATIACHOFF (C.) - Langage Java - , Langage Java]. Techniques de l’Ingénieur (1998).
-
(4) - EMSELLEM (D.), RIVEILL (M.) - Plate-forme.NET - , Plate-forme .NET. Techniques de l’Ingénieur (2006).
-
(5) - SCEPPA (D.) - Manuel de référence ADO.NET - . Microsoft Press, ISBN 2.10.006523.8 (2002).
-
(6) - REILLY (D. J.) - Manuel de référence ASP.NET - . Microsoft Press, ISBN 2.10.006472.X (2002).
-
...
ANNEXES
ISO/IEC 23270:2006 Technologies de l’information. Langages de programmation C# (disponible en anglais seulement).
ISO/IEC 23271:2006 Technologies de l’information. Infrastructure commune de langage (ICL). Partitions I à VI (disponible en anglais seulement).
HAUT DE PAGE
http://www.w3c.org (service web, WSDL, SOAP, XML, HTTP)
SOAP : http://www.w3.org/TR/soap/
XML : http://www.w3.org/TR/xml
HTTP : http://www.w3.org/Protocols
HAUT DE PAGE2.1 Chez l’éditeur (Microscoft)
...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive