C# (.NET)

Références

L'actualité

Librairie

L'information

C# (CSharp)

C# est un langage de programmation orientée objet, fortement typé, dérivé de C et de C++. Il est utilisé pour développer des applications web, ainsi que des applications de bureau, des services web, des commandes, des widgets ou des bibliothèques de classes.

En C#, une application est un lot de classes où une des classes comporte une méthode Main, comme cela se fait en Java. C# est destiné à développer sur la plateforme .NET, une pile technologique créée par Microsoft pour succéder à COM.

   
Les exécutables en C# sont subdivisés en assemblies, en namespaces, en classes et en membres de classe.

Un assembly est la forme compilée, qui peut être un programme (un exe) ou une bibliothèque de classes (une dll). Un assembly contient le code exécutable en MSIL, ainsi que les symboles. Le code MSIL est traduit en langage machine au moment de l'exécution par la fonction just-in-time de la plateforme .NET

Un assembly contient le code exécutable en MSIL, ainsi que les symboles. Le code MSIL est traduit en langage machine au moment de l'exécution par la fonction just-in-time de la plateforme .NET.

C# est destiné à développer sur la plateforme .NET.Le coeur de cette pile technologique est le framework .NET, composé de :

  • Les environnements ASP.NET et Winforms qui servent à exécuter des applications web de bureau conçus pour la plateforme .NET.
  • Une bibliothèque de classes qui permet de manipuler des fichiers, manipuler des tableaux ou des structures en arbres, accéder à Internet, créer des interfaces graphiques, accéder à des bases de données, accéder au registre Windows et beaucoup d'autres choses.
  • Le Common Language Runtime (CLR) est le runtime utilisé par les langages de la plateforme .NET (C#, Visual Basic .NET, J#, etc.), les services fournis par la CLR sont le lancement et l'exécution de programmes, le ramasse-miettes et la gestion d'exceptions. Un programme pour la plateforme .NET est tout d'abord compilé en une forme intermédiaire, le MSIL, puis ce code MSIL est transformé en code machine qui sera exécuté par le CLR. Ce code machine est appelé managed code parce que son exécution est sous le contrôle de la CLR.
Un autre produit de la plateforme .NET est l'environnement de développement Visual Studio .NET, outil généralement utilisé pour programmer en C#.

C'est en septembre 2000 que la plateforme .NET et C# sont présentés au public. C# devient le langage de facto de cette plateforme, il a par ailleurs été utilisé pour implémenter une partie de la plateforme .NET.


Framework .NET

Le Framework .NET est un framework pouvant être utilisé par un système d'exploitation Microsoft Windows et Microsoft Windows Mobile depuis la version 5 (.NET Compact Framework). Une version légère et limitée fournie avec un moteur d'exécution fonctionnant à l'intérieur d'un navigateur ou d'un périphérique mobile est disponible sous le nom de Silverlight.

La version 3.0 du framework est intégrée à Windows Vista et à la plupart des versions de Windows Server 2008 ou téléchargeable depuis le site de l'éditeur Microsoft. La version 4.5.1 du framework est intégrée à Windows 8.
   

L'infrastructure de développement .NET s'appuie sur la norme Common Language Infrastructure (CLI) qui est indépendante du langage de programmation utilisé. Ainsi tous les langages compatibles respectant la norme CLI ont accès à toutes les bibliothèques installées (installables) dans l'environnement d'exécution. Le framework .NET est un sous ensemble de la technologie Microsoft .NET.

Il a pour but de faciliter la tâche des développeurs en proposant une approche unifiée à la conception d'applications Windows ou Web, tout en introduisant des facilités pour le développement, le déploiement et la maintenance d'applications. Il a besoin d'être installé sur la machine de l'utilisateur final, rendant les applications créées sous cet environnement impropres à un usage portable.

Année Version Bibliothèque Principal changement
2002 1.0 .NET framework 1.0 et 1.1
2005 2.0 .NET framework 2.0 Généricité ajoutée å C# et au framework
2008 3.0 .NET framework 3.5 LINQ (Language integrated queries)
2010 4.0 .NET framework 4.0 Types dynamiques
2012 5.0 .NET framework 4.5 Méthodes asynchrones
2015 6.0 .NET framework 4.6 Version pour Linux


CLR (Common Language Runtime)

Le CLR est une machine virtuelle, sans laquelle l'exécution de code .NET ne serait pas possible. à l'inverse de son concurrent, le framework .NET a été conçu pour permettre l'interopérabilité entre différents langages.

Quel que soit le langage utilisé pour écrire une application /code>.NET, le code doit être transformé en CIL (Common Intermediate Language). Ce code intermédiaire ne comporte aucune instruction relative au matériel (hardware) ou au système d'exploitation. Il ne peut donc pas être exécuté directement. Malgré cela, on pourrait tout à fait imaginer écrire directement une application en IL, langage qui ressemble à l'assembleur, sans passer par un langage de dernière génération comme le C#.

Le CLR est nécessaire pour exécuter le code intermédiaire. Il est basé sur le CTS (Common Type System) et le CLS (Common Language Specification). Il apporte de nombreuses fonctionnalités comme le Garbage Collector, la BCL (Base Class Library), et le système de sécurité. Une fois le code présent dans le CLR, il va enfin pouvoir être compilé par le JIT Compiler (Just in Time) en langage natif de la machine.



Version du .NET Framework Inclut la version CLR
1.0
1.1 1.1
2.0 2.0
3.0 2.0
3.5 2.0
4 4
4.5 (y compris 4.5.1 et 4.5.2) 4
4.6 (y compris 4.6.1 et 4.6.2) 4
4.7 (y compris 4.7.1 et 4.7.2) 4

BCL (Base Class Library)

Dans la première couche se trouve la Base Class Library (BCL), rassemblant des classes permettant les manipulations de chaînes de texte, la gestion des entrées / sorties, des communications réseaux, des processus légers et le design des interfaces graphiques. Par exemple, la manipulation des chaînes est disponible dans la classe String.

ADO (Active Data Objects)

La deuxième couche est composée de deux bibliothèques de classes d'accès aux données. Tout d'abord, ADO.NET, s'élevant sur les bases de l'ancien ADO (ActiveX Data Objects) utilisé par les développeurs ASP, et permettant l'accès sous format XML aux interfaces de bases de données SQL Server, ODBC, OLE DB, Oracle et Sybase, et bien sûr aux fichiers XML. Les XML Classes permettent de manipuler les données XML. On y trouve par exemple les classes XSLT permettant la transformation d'un document XML vers n'importe quel type d'autre document. Un autre exemple, il est très facile de charger un document XML dans une table, et vice versa, grâce au XML sous-jacent.

XML Web Services, Web Forms, Windows Forms

La dernière couche, la plus élevée, est utilisée pour la création de services web, de pages Web, et d'applications Windows. Les deux premiers forment ASP.NET, là aussi une référence à l'ancien langage de programmation Web. Les pages internet ayant pour extension .aspx sont généralement des pages Web écrites en .NET, tandis que les pages écrites en ASP se terminent généralement en .asp.