Nouveautés de la version 2.0
C sharp
H3545 v1 Article de référence

Nouveautés de la version 2.0
C sharp

Auteur(s) : Michel RIVEILL, Samuel WEIBEL

Relu et validé le 25 janv. 2023 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Langage C# et .NET

  • 1.1 - Mon premier programme
  • 1.2 - Langages à objets
  • 1.3 - C# et .NET

2 - Principales caractéristiques du langage C#

  • 2.1 - Espace de noms de C#
  • 2.2 - Types valeurs et références. Boxing et unboxing
  • 2.3 - Délégués
  • 2.4 - Propriétés
  • 2.5 - Indexeurs
  • 2.6 - Attributs
  • 2.7 - Surcharge d’opérateurs
  • 2.8 - Collections
  • 2.9 - Code externe et code non sûr

3 - Nouveautés de la version 2.0

  • 3.1 - Généricité
  • 3.2 - Méthodes anonymes
  • 3.3 - Itérateurs
  • 3.4 - Types partiels

4 - Principales bibliothèques

5 - Exemple d’application

6 - Quelques éléments de performances

Sommaire

Présentation

RÉ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’article

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.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h3545

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

3. Nouveautés de la version 2.0

En octobre 2005, Microsoft a sorti la version 2.0 du .NET Framework. Cette version contient de nouveaux concepts qui facilitent le développement rapide d’applications et réduisent le nombre de lignes de code. Ainsi le code devient plus lisible.

La version 2.0 de C# a été publié en même temps que le .NET Framework 2.0 pour que le langage puisse utiliser plus aisément ces nouveaux concepts.

3.1 Généricité

En C++, les patrons génériques sont extrêmement utilisés et le fait qu’ils n’aient pas été implémentés sous C# a été un des reproches majeurs à sa sortie. Il est donc logique que la plus importante innovation dans C# 2.0 soit sûrement la généricité. Pour contourner l’absence de généricité, les programmeurs C# utilisaient des collections d’objets non typés et sollicitaient massivement l’usage coûteux du boxing/unboxing et du cast. L’introduction de la généricité devrait augmenter le typage statique et l’efficacité des programmes écrits.

La généricité peut par exemple être utilisée pour simplifier l’écriture des classes de collections afin qu’elles soient énumérables pour être intégrées dans une boucle « foreach ». Voici un exemple simple qui illustre les simplifications apportées. Écrivons par exemple une liste d’objets du type « Enfant » sans généricité à l’aide du type « ArrayList » :

ArrayList enfants = new ArrayList(2);

Enfant jean = new Enfant("Jean", 10);

Enfant corinne = new Enfant("Corinne", 8);

enfants.Add(jean);

enfants.Add(corinne);

Enfant premier = (Enfant) enfants[0];

Console.WriteLine("Le nom de mon premier enfant est {0}", premier.nom);

Dans l’avant dernière ligne, le premier élément de « enfants » est converti explicitement en Enfant à l’aide d’un cast qui nécessite à l’exécution une vérification de type. Avec les types génériques, le développeur peut éviter cette conversion s’il est sûr que dans la variable « enfants » il ne peut y avoir que des objets du type Enfant. Voici le même exemple avec les types génériques :

List<Enfant> enfants = new List<Enfant>(2);

Enfant...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Nouveautés de la version 2.0

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

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).

  • ...

1 Normes

HAUT DE PAGE

1.1 Normes.Net

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

1.2 Normes W3C :

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 PAGE

2 Sites Internet

HAUT DE PAGE

2.1 Chez l’éditeur (Microscoft)

http://www.microsoft.com/net/

...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Plate-forme .NET

Le .NET Framework, qui permet la création et l’exécution d’applications modernes conçues autour des ...

XML et interopérabilité des systèmes - Applications en Java 1.5 et PHP 5.0

L'interopérabilité des systèmes (échange d'informations) se confronte aujourd'hui à l'hétérogénéité des ...