C#
(CSharp)CLR
(Common Language Runtime)BCL
(Base Class Library)ADO
(Active Data Objects)Des chercheurs danois et suédois en sciences informatiques et systèmes autonomes ont décortiqué la sécurité...
Nvidia se prépare à livrer la plate-forme serveur HGX-2 qui sera capable d'exploiter la puissance de 16 GPU Tesla V100...
L'EMD, une école de commerce située à Marseille ouvre à la prochaine rentrée l'école du numérique...
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. |
|
C#
sont subdivisés en assemblies, en namespaces, en classes et en membres de classe. 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
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 :ASP.NET
et Winforms
qui servent à exécuter des applications web de bureau conçus pour la plateforme .NET
.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
.
.NET
est l'environnement de développement Visual Studio .NET
, outil généralement utilisé pour programmer en C#
..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
.
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 . |
|
.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
.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
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.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#
.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 |
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.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.
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
.