Section courante

A propos

Section administrative du site

Fiche technique
Type de produit : Langage de programmation
Auteur : Microsoft
Date de publication : 2001

Introduction

Le langage de programmation C# se veut une réponse de Microsoft au langage de programmation Java de Sun Microsystems (Oracle) ! C'est un langage amélioré du langage de programmation au concept de Java, mais avec deux changements majeurs, la première, c'est qu'il est compilé en langage machine de l'ordinateur sur lequel il fonctionne, donc le microprocesseur lui-même de l'ordinateur, plutôt qu'un code machine intermédiaire beaucoup plus lent. Il n'est pas portable sur toutes les machines ou ordinateurs, seulement sur le système d'exploitation de Microsoft ou sur Linux en utilisant Mono.

Bien qu'il est préconisé d'utiliser le cadre d'application .NET avec C#, soulignons également, qu'il y a un certains portes arrières dans le langage de programmation permettant d'accéder aux API des systèmes d'exploitations (voir C# pour Windows). Ce qui en fait, certes, un produit bien adapter au problème de Microsoft mais pas au problème de portabilité.

Les cotés positifs du langage de programmation :

Les cotés négatifs du langage de programmation :

Framework 2.0 (Cadre d'application)

Dans cette version, on voit apparaitre le support pour les microprocesseurs 64 bits (AMD et INTEL). Par contre, au niveau de la programmation du code source, il n'y a pas de changement constatable.

Framework 3.5 (Cadre d'application)

Cette version amène une innovation importante, l'apparition de LINQ (Language Integrated Query), laquelle permet de manipuler les données sous forme d'une base de données vers une base de données, XML, Objet, SharePoint,... Concrètement, pour faire simple, on pourrait dire que c'est comme du SQL ce retrouvant directement dans le code C#. Voici un exemple rapide de son utilisation :

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace LinqSamples1
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             int[] MyArray = { 300, 6000, 500, 5000, 4000, 200 };
  13.  
  14.             var ResultLINQ =
  15.                 from n in MyArray
  16.                 where n <= 500
  17.                 select n;
  18.  
  19.             Console.WriteLine("Afficher les nombres inférieurs ou égale à 500 :");
  20.             foreach (var CurrRows in ResultLINQ)
  21.             {
  22.                 Console.WriteLine(CurrRows);
  23.             }
  24.         }
  25.     }
  26. }
  27.  

on obtiendra le résultat suivant :

Afficher les nombres inférieurs ou égale à 500 :
300
500
200

De plus l'AJAX (AJAX .NET) est inclus de base avec ses protocoles associées (AJAX, JSON, REST, RSS, Atom).

Framework 4.0 (Cadre d'application)

Dans la version 4.0, l'interface «IEnumerable» fait son apparition, laquelle permet l'énumération d'une liste d'informations.

Liste des versions

Le langage de programmation C# a été introduit pour la première fois avec le cadre d'application .NET 1.0 en 2002 et a beaucoup évolué depuis. Le tableau suivant répertorie les fonctionnalités importantes introduites dans chaque version de C# :

Version Cadre d'application .NET Visual Studio Fournitures importantes
C# 1.0 Cadre d'application .NET 1.0/1.1 Visual Studio .NET 2002 Fourniture de base
C# 2.0 Cadre d'application .NET 2.0 Visual Studio 2005 Génériques, types partiels, méthodes anonymes, itérateurs, types Nullables, Setters privés (propriétés), conversions de groupes de méthodes (délégués), covariance et contra-variance, classes statiques
C# 3.0 Cadre d'application .NET 3.0\3.5 Visual Studio 2008 Variables locales implicitement typées, initialiseurs d'objets et de collections, propriétés implémentées automatiquement, types anonymes, méthodes d'extension, expressions de requête, expressions lambda, arbres d'expression, méthodes partielles
C# 4.0 Cadre d'application .NET 4.0 Visual Studio 2010 Liaison dynamique (liaison tardive), arguments nommés et facultatifs, co- et contravariance génériques, types d'interopérabilité intégrés
C# 5.0 Cadre d'application .NET 4.5 Visual Studio 2012/2013 Fonctionnalités désynchronisés, Informations sur l'appelant
C# 6.0 Cadre d'application .NET 4.6 Visual Studio 2013/2015 Méthodes à corps d'expression, initialiseur de propriété automatique, nom de l'expression, constructeur principal, Await dans le bloc catch, filtre d'exception, interpolation de chaîne de caractères
C# 7.0 .NET Core 2.0 Visual Studio 2017 Variables out, Tuples, Discards, Correspondance de motifs, fonctions locales, types de retour asynchrones généralisés,...
C# 8.0 .NET Core 3.0 Visual Studio 2019 Membres en lecture seulement, méthodes d'interface par défaut, utilisation des déclarations, fonctions locales statiques, référence struct jetables, types de référence Nullable,...
C# 9.0 .NET 5.0 Visual Studio 2019 Enregistrements, propriétés d'initialisation uniquement, déclarations de haut niveau, init accesseurs et champs en lecture seulement, avec-expressions, égalité fondée sur les valeurs,...
C# 10.0 .NET 6.0 Visual Studio 2022 Structures d'enregistrement, directives d'utilisation globales, déclaration d'espace de noms à portée de fichier, modèles de propriétés étendus, vérification des paramètres nuls, chaînes de caractères interpolées constantes,...


Dernière mise à jour : Dimanche, le 17 août 2014