Livret – 3.1 Le langage C# dans .Net --- Opérateurs, instructions, types, struc
Livret – 3.1 Le langage C# dans .Net --- Opérateurs, instructions, types, structures de données, module-classe et méthode static. RM di scala Cours informatique programmation Rm di Scala - http://www.discala.net rm di Scala - 2006 Livret 3.1 : Le langage C# dans .Net : partie 1 - ( rév. 07.12.2005 ) page 1 SOMMAIRE Types, opérateurs, instructions Introduction …………………………………..…. ………. P.3 Les outils élémentaires …………………………………..……… P.4 Les éléments de base .…………………………………...……. P.12 Les opérateurs + exemples .……………………………………. P.22 Les instructions .…………………………………….………. P.36 Les conditions .………………………………………………. P.41 Les itérations .………………. …………………………………. P.47 Les ruptures de séquence .……. ………………………………. P.51 Classes avec méthodes static ……….………………. ………… P.55 Structures de données de base Classe String …………………………………..…. P.72 Tableaux, matrices …………………………………..…. P.80 Collections, piles, files, listes …….…………………..…. P.92 Livret 3.1 : Le langage C# dans .Net : partie 1 - ( rév. 07.12.2005 ) page 2 Introduction à .Net Une stratégie différente de répartition de l'information et de son traitement est proposée depuis 2001 par Microsoft, elle porte le nom de .NET (ou en anglais dot net). La conception de cette nouvelle architecture s'appuie sur quelques idées fondatrices que nous énonçons ci-dessous : q Une disparition progressive des différences entre les applications et l'Internet, les serveurs ne fourniront plus seulement des pages HTML, mais des services à des applications distantes. q Les informations au lieu de rester concentrées sur un seul serveur pourront être réparties sur plusieurs machines qui proposeront chacune un service adapté aux informations qu'elles détiennent. q A la place d'une seule application, l'utilisateur aura accès à une fédération d'applications distantes ou locales capables de coopérer entre elles pour divers usages de traitement. q L'utilisateur n'aurait plus la nécessité d'acheter un logiciel, il louerait plutôt les services d'une action spécifique. q Le micro-ordinateur reste l'intermédiaire incontournable de cette stratégie, il dispose en plus de la capacité de terminal intelligent pour consulter et traiter les informations de l'utilisateur à travers Internet où qu'elles se trouvent. q Offrir aux développeurs d'applications .NET un vaste ensemble de composants afin de faire de la programmation par composant unifiée au sens des protocoles (comme l’utilisation du protocole SOAP) et diversifiée quant aux lieux où se trouvent les composants. Afin de mettre en place cette nouvelle stratégie, microsoft procède par étapes. Les fondations de l'architecture .NET sont posées par l'introduction d'un environnement de développement et d'exécution des applications .NET. Cet environnement en version stabilisée depuis 2002 avec une révision majeure en 2005, porte la dénomination de .NET Framework, il est distribué gratuitement par microsoft sur toutes les versions de Windows (98, Me,..., Xp,...). L'outil Visual Studio .NET contient l'environnement RAD de développement pour l'architecture .NET. Visual Studio .NET permet le développement d'applications classiques Windows ou Internet. rm di Scala - 2006 Livret 3.1 : Le langage C# dans .Net : partie 1 - ( rév. 07.12.2005 ) page 3 Les outils élémentaires 1. La plate forme .NET Framework Elle comporte plusieurs couches les unes abstraites, les autres en code exécutable : Livret 3.1 : Le langage C# dans .Net : partie 1 - ( rév. 07.12.2005 ) page 4 La première couche CLS est composée des specifications communes communes à tous les langages qui veulent produire des applications .NET qui soient exécutables dans cet environnement et les langages eux-même. Le CLS est une sorte de sous-ensemble minimal de spécifications autorisant une interopérabilité complète entre tous les langages de .NET les règles minimales (il y en a en fait 41 ) sont : • Les langages de ..NET doivent savoir utiliser tous les composants du CLS • Les langages de .NET peuvent construire de nouvelles classes, de nouveaux composants conformes au CLS Le C# est le langage de base de .NET, il correspond à une synthèse entre Delphi et Java (le concepteur principal de .NET. et de C# est l'ancien chef de projet Turbo pascal puis Delphi de Borland). Afin de rendre Visual Basic interopérable sur .NET, il a été entièrement reconstruit par microsoft et devient un langage orienté objet dénommé VB.NET. La seconde couche est un ensemble de composants graphiques disponibles dans Visual Studio .NET qui permettent de construire des interfaces homme-machine orientées Web (services Web) ou bien orientées applications classiques avec IHM. Les données sont accédées dans le cas des services Web à travers les protocoles qui sont des standards de l'industrie : HTTP, XML et SOAP. La troisième couche est constituée d'une vaste librairie de plusieurs centaines de classes : Toutes ces classes sont accessibles telles quelles à tous les langages de .NET et cette librairie peut être étendue par adjonction de nouvelles classes. Cette librairie a la même fonction que la bibliothèque des classes de Java. rm di Scala - 2006 Livret 3.1 : Le langage C# dans .Net : partie 1 - ( rév. 07.12.2005 ) page 5 La librairie de classe de .NET Framework est organisée en nom d'espace hierarchisés, exemple ci-dessous de quelques espaces de nom de la hiérarchie System : Un nom complet de classe comporte le "chemin" hiérarchique de son espace de nom et se termine par le nom de la classe exemples : • La classe DataSet qui se trouve dans l'espace de noms "System.Data.ADO" se déclare comme "System.Data.ADO.Dataset". • La classe Console qui se trouve dans l'espace de noms "System" se déclare comme "System.Console". La quatrième couche forme l'environnement d'exécution commun (CLR ou Common Language Runtime) de tous les programmes s'exécutant dans l'environnement .NET. Le CLR exécute un bytecode écrit dans un langage intermédiaire (MSIL ou MicroSoft Intermediate Language) Rappelons qu'un ordinateur ne sait exécuter que des programmes écrits en instructions machines compréhensibles par son processeur central. C# comme pascal, C etc... fait partie de la famille des langages évolués (ou langages de haut niveau) qui ne sont pas compréhensibles immédiatement par le processeur de l'ordinateur. Il est donc nécesaire d'effectuer une "traduction" d'un programme écrit en langage évolué afin que le processeur puisse l'exécuter. Les deux voies utilisées pour exécuter un programme évolué sont la compilation ou l'interprétation : Livret 3.1 : Le langage C# dans .Net : partie 1 - ( rév. 07.12.2005 ) page 6 Un compilateur du langage X pour un processeur P, est un logiciel qui traduit un programme source écrit en X en un programme cible écrit en instructions machines exécutables par le processeur P. Un interpréteur du langage X pour le processeur P, est un logiciel qui ne produit pas de programme cible mais qui effectue lui-même immédiatement les opérations spécifiées par le programme source. Un compromis assurant la portabilité d'un langage : une pseudo-machine Lorsque le processeur P n'est pas une machine qui existe physiquement mais un logiciel simulant (ou interprétant) une machine on appelle cette machine pseudo- machine ou p-machine. Le programme source est alors traduit par le compilateur en instructions de la pseudo-machine et se dénomme pseudo-code. La p-machine standard peut ainsi être implantée dans n'importe quel ordinateur physique à travers un logiciel qui simule son comportement; un tel logiciel est appelé interpréteur de la p-machine. La première p-machine d'un langage évolué a été construite pour le langage pascal assurant ainsi une large diffusion de ce langage et de sa version UCSD dans la mesure où le seul effort d'implementation pour un ordinateur donné était d'écrire l'interpréteur de p-machine pascal, le reste de l'environnement de développement (éditeurs, compilateurs,...) étant écrit en pascal était fourni et fonctionnait dès que la p-machine était opérationnelle sur la plate-forme cible. Donc dans le cas d'une p-machine le programme source est compilé, mais le programme cible est exécuté par l'interpréteur de la p-machine. Beaucoup de langages possèdent pour une plate-forme fixée des interpréteurs ou des compilateurs, moins possèdent une p-machine, Java de Sun est l'un de ces langages. Tous les langages de la plateforme .NET fonctionnent selon ce principe, C# conçu par microsoft en est le dernier, un programme C# compilé en p-code, s'exécute sur la p-machine virtuelle incluse dans le CLR. Nous décrivons ci-dessous le mode opératoire en C#. Compilation native La compilation native consiste en la traduction du source C# (éventuellement préalablement traduit instantanément en code intermédiare) en langage binaire exécutable sur la plate-forme concernée. Ce genre de compilation est équivalent à n'importe quelle compilation d'un langage dépendant de la plate-forme, l'avantage est la rapidité d'exécution des instructions machines par le processeur central. La stratégie de développement multi-plateforme de .Net, fait que Microsoft ne fournit pas pour l’instant, de compilateur C# natif, il faut aller voir sur le net les entreprises vendant ce type de produit. rm di Scala - 2006 Livret 3.1 : Le langage C# dans .Net : partie 1 - ( rév. 07.12.2005 ) page 7 Programe source C# : xxx.cs Programe exécutable sous Windows : xxx.exe (code natif processeur) Bytecode ou langage intermédiaire La compilation en bytecode (ou pseudo-code ou p-code ou code intermédiaire) est semblable à l'idée du p-code de N.Wirth pour obtenir un portage multi plate-formes du pascal. Le compilateur C# de .NET Framework traduit le programme source xxx.cs en un code intermédiaire indépendant de toute machine physique et non exécutable directement, le fichier obtenu uploads/Litterature/ livret-03 1 .pdf
Documents similaires
-
23
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 04, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.8930MB