Nouveautés de Visual C#

Mise à jour : Juillet 2008

Nouveautés de Visual C# 2008 Service Pack 1

Langage C#

Fonctionnalité

Description

Améliorations du compilateur

De nombreuses améliorations ont été apportées au compilateur C# dans le but d'éliminer les incohérences liées à la spécification du langage. Certaines de ces améliorations sont des modifications avec rupture, d'autres ne sont que de simples mises à jour logicielles ou améliorations. Pour plus d'informations sur les modifications avec rupture, consultez Modifications importantes dans Visual C# 2008. Pour plus d'informations sur les autres bogues résolus dans le Service Pack 1, consultez la Liste des modifications et des problèmes résolus pour Visual Studio 2008 Service Pack 1 Bêta pour Visual C#.

IDE Visual C#

Fonctionnalité

Description

Erreurs sémantiques en direct

Visual C# 2008 Service Pack 1 propose une nouvelle fonctionnalité d'affichage des erreurs sémantiques en direct qui offre un éventail d'informations plus complet sur les erreurs susceptibles de survenir dans votre code. Cette fonctionnalité détecte les erreurs de niveau expression signalées auparavant uniquement après une génération. Elle met en évidence les erreurs en les soulignant par des traits ondulés rouges à mesure que vous écrivez votre code. Pour plus d'informations sur ces traits de soulignement ondulés, consultez Modification du code (Visual C#).

Débogage des requêtes LINQ

Le débogage des requêtes LINQ a été considérablement amélioré dans le Service Pack 1.

  • Vous pouvez désormais afficher les variables de portée dans la fenêtre Espion et dans les DataTips lorsque vous parcourez des lignes individuelles dans une expression de requête.

  • Le débogueur ne masque plus les noms des types anonymes et permet de les faire apparaître dans des casts et des instanciations. Ceci permet de créer des instances temporaires de types anonymes au cours d'une session de débogage. Les casts vers et depuis des types anonymes sont évalués correctement.

  • Les chaînes générées pour Ajouter un espion ont été améliorées et génèrent des expressions qu'il est possible d'évaluer à une plus grande fréquence que dans la version Release d'origine de Visual Studio 2008.

Pour plus d'informations, consultez Sree's ventures in code space sur le site Web Microsoft.

Affichage des commentaires de la liste des tâches pour tous les fichiers dans la solution

Dans les versions précédentes de Visual Studio, la liste des tâches ne contenait que des commentaires dans les fichiers ouverts. Dans Visual Studio 2008 Service Pack 1, l'environnement de développement intégré (IDE) de C# affiche les commentaires dans tous les fichiers ouverts et fermés de la solution. Pour plus d'informations, consultez Comment : créer des commentaires de la liste des tâches.

Refactorisation de changement de nom dans les projets Windows Presentation Foundation

Grâce à la fonctionnalité de refactorisation de changement de nom de Visual Studio 2008 Service Pack 1, vous pouvez renommer des références définies en XAML. Pour plus d'informations sur la refactorisation de changement de nom, consultez Renommer.

LINQ

Fonctionnalité

Description

Améliorations de la méthode [M:Enumerable.Cast`1]

Visual C# 2008 Service Pack 1 améliore les performances de la méthode Enumerable.Cast<T> en désactivant les conversions des valeurs primitives et les conversions explicitement définies par l'utilisateur. Une conversion du type de données int en type de données long est un exemple de conversion de valeur primitive.

Améliorations des performances des méthodes [M:Enumerable.Where`1] et [M:Enumerable.Select`1]

Visual C# 2008 Service Pack 1 améliore les performances des opérateurs de requête standard Where et Select.

Nouveautés de la version Release d'origine de Visual C# 2008

Langage C# 3.0

Le langage C# 3.0 et le compilateur introduisent plusieurs nouvelles fonctionnalités de langage. Ces nouvelles constructions de langage sont utiles individuellement dans différents contextes, et collectivement pour LINQ (Language Integrated Query). Pour plus d'informations sur LINQ, consultez The LINQ Project.

Le tableau suivant répertorie les nouvelles fonctionnalités de langage C# 3.0 :

Fonctionnalité

Description

Variables locales et tableaux implicitement typés

En cas d'usage avec les variables locales, le mot clé var indique au compilateur de déduire le type de la variable ou les éléments de tableau de l'expression à droite de l'instruction d'initialisation.

Initialiseurs d'objets

Active l'initialisation d'objet sans appels explicites à un constructeur.

Initialiseurs de collection

Active l'initialisation de collections avec une liste d'initialisation plutôt que des appels spécifiques à Add ou une autre méthode.

Méthodes d'extension

Étendez des classes existantes à l'aide des méthodes statiques qui peuvent être appelées en utilisant la syntaxe de méthode d'instance.

Types anonymes

Active la création « à la volée » de types structurés sans nom qui peuvent être ajoutés aux collections et sont accessibles en utilisant var.

Expressions lambda

Active des expressions inline avec les paramètres d'entrée qui peuvent être liés aux délégués ou aux arborescences d'expression. Voir aussi Fonctions anonymes (Guide de programmation C#).

Mots clés de requête

Mots clés qui spécifient des clauses dans une expression de requête :

  • Clause(s) from

  • Clause where (facultative)

  • Clauses de classement (facultatives)

  • Clause join (facultative)

  • Clause select ou group

  • Clause into (facultative)

Propriétés implémentées automatiquement

Active la déclaration de propriétés en utilisant la syntaxe simplifiée.

Définition de méthodes partielles

Les types partiels peuvent désormais contenir des méthodes partielles.

Compilateur C# 3.0

  • Commutateurs de compilation /win32Manifest et de /noWin32Manifest.
    Ces nouveaux commutateurs de compilation permettent de spécifier des niveaux d'exécution demandés pour les programmes qui s'exécutent sur Windows Vista.

IDE Visual C#

Fonctionnalité

Description

Multi-ciblage

Visual Studio 2008 permet de spécifier la version du .NET Framework utilisée pour votre projet, le .NET Framework 2.0, 3.0 ou 3.5. La cible du .NET Framework d'une application est la version du .NET Framework qui est requise sur un ordinateur pour permettre l'exécution de l'application sur cet ordinateur. Pour plus d'informations, consultez Ciblage d'un .NET Framework spécifique.

Nouveaux types et modèles de projets

Plusieurs nouveaux modèles de projets sont fournis pour les projets Windows Presentation Foundation, Windows Communication Foundation et Web. Pour plus d'informations, consultez Modèles de projet des différentes éditions de Visual C# et Modèles de projet par défaut dans Visual Studio.

Prise en charge IntelliSense pour C# 3.0

L'éditeur de code Visual C# fournit une saisie semi-automatique des instructions et Info express pour prendre en charge les nouvelles constructions de langage dans 3.0 en C# :

  • Variables locales implicitement typées

  • Expressions de requête

  • Méthodes d'extension

  • Initialiseurs d'objets/de collection

  • Types anonymes

  • Expressions lambda

  • Méthodes partielles

Pour plus d'informations, consultez Visual C# IntelliSense.

Prise en charge de la refactorisation pour C# 3.0

Les fonctionnalités de refactorisation, Renommer, Modifier la signature, Extraire la méthode et Promouvoir les variables locales ont été mises à jour pour prendre en charge les nouvelles constructions de langage suivantes :

  • Expressions de requête

  • Méthodes d'extension

  • Expressions lambda

De plus, la refactorisation fournit de nouvelles options et des avertissements pour éviter les conséquences inattendues d'une action de refactorisation. Pour plus d'informations, consultez Refactorisation.

Mise en forme du code

L'éditeur de code prend en charge des options de mise en forme pour plusieurs nouvelles constructions de langage C# 3.0, y compris des expressions de requête. Pour plus d'informations, consultez Mise en forme, C#, Éditeur de texte, boîte de dialogue Options.

Organisation des instructions Using

L'éditeur de code Visual C# simplifie le tri des déclarations using et extern et la suppression de celles qui ne sont pas utilisées.

Voir aussi

Autres ressources

LINQ (Language-Integrated Query)

Is C# becoming a functional language?

New Library Classes in the .NET Framework 3.5

Historique des modifications

Date

Historique

Raison

Juillet 2008

Ajout d'une section sur Visual C# 2008 Service Pack 1.

Modifications de fonctionnalités dans le SP1.