Vu que la prochaine version de C# se rapproche de sa date de sortie, les fonctionnalités qui ne sont pas tout à fait prêtes doivent être retirées. Les fonctionnalités qui sont récemment supprimées de la liste sont les constructeurs primaires et les expressions de déclaration. Mads Torgersen a écrit :
Comme vous m'avez peut-être entendu le dire auparavant, les caractéristiques du langage représentent un élément secondaire dans cette version. L'objectif principal est d'offrir une magnifique première version de la proposition de valeur Roslyn : une compréhension profonde du langage dans l'IDE et accessible à tous via une API robuste et complète. Pour bien livrer ceci, nous avons besoin de revoir à la baisse notre appétit pour les fonctionnalités du langage.
Il n’y a pas que des mauvaises nouvelles. La fonctionnalité "interpolation de chaîne" qui n'avait pas été mentionnée précédemment par Microsoft, devrait quant à elle faire son apparition. String interpolation permet de faire l’inline des variables dans des chaînes sans avoir besoin d'appeler explicitement String.Format. String interpolation avait été ajoutée au compilateur Mono en 2009 en tant que fonctionnalité expérimentale.
Les fonctionnalités qui devraient être incluses dans la prochaine version comprennent :
- Les initializers auto-propriété (déjà disponible en VB)
- Getter-only auto-propriétés
- L’affectation Ctor pour les getter-only autoprops
- Les struct Ctors sans paramètres
- L’utilisation des membres statiques (déjà disponible en VB)
- Le dictionnaire d’initialisation (C# uniquement)
- Await en catch/finally (disponible en C#. VB peut-être)
- Les filtres d'exception (déjà disponible en VB)
- Les typecase (VB peut-être)
- Les modules partiels (VB seulement, ne s'applique pas à C#)
- Les interfaces partielles (déjà disponible en C#)
- Les littéraux de chaîne multiligne (déjà disponible en C#)
- Les littéraux avec Year-first-date (VB uniquement)
- Les commentaires de continuation de ligne (VB uniquement, ne s'applique pas à C#)
- TypeOf IsNot (VB uniquement, ne s'applique pas aux C#)
- Les membres expression-bodied (C# uniquement)
- Propagation Null (C# fait, VB peut-être)
- Les Params IEnumerable (peut-être)
- L’interpolation de chaîne (prévu)
- L’opérateur nameOf (C# fait, VB prévu)
- #pragma (déjà disponible en C#)
- Cibles sur les champs autoprops (peut-être)
Vous pouvez consulter la liste des fonctionnalités qui n'ont pas été annulées sur la page d'état des fonctionnalités du langage.
Remarque : un rapport précédent sur InfoQ a déclaré par erreur que le filtrage ferait partie de C# 6 et VB 12.