Ce sont des versions de C# connues au moment d'écrire ces lignes:
-
C# 1.0 publié avec .NET 1.0 et VS2002 (janvier 2002)
-
C# 1.2 (bizarrement assez); publié avec .NET 1.1 et VS2003 (avril 2003). Première version pour appel
Dispose
sur IEnumerator
s qui a mis en oeuvre IDisposable
. Quelques autres petits éléments.
-
C# 2.0 publié avec .NET 2.0 et VS2005 (novembre 2005). De nouvelles fonctionnalités majeures: les génériques, les méthodes anonymes, les types nullables, iterator blocs
-
C# 3.0, publié avec .NET 3.5 et VS2008 (novembre 2007). De nouvelles fonctionnalités majeures: les expressions lambda, les méthodes d'extension, l'expression des arbres, des types anonymes, de typage implicite (
var
), les expressions de requête
-
C# 4.0 publié avec .NET 4 et VS2010 (avril 2010). De nouvelles fonctionnalités majeures: la liaison tardive (
dynamic
), de déléguer et de l'interface générique de la variance, plus de prise en charge COM, les arguments nommés et des paramètres optionnels
-
C# 5.0 publié avec .NET 4.5, en août 2012. Caractéristiques principales: programmation asynchrone, appelant info attributs.
-
C# 6.0 (avec la nouvelle Roslyn) - première Extrémité de l'Utilisateur Aperçu publié le 3 avril 2014. Caractéristiques (proposé): les principaux constructeurs, les initialiseurs de propriétés implémentées automatiquement, à l'aide de directives à l'importation statique des membres, la déclaration des expressions, des filtres d'exception, binaire littéraux et des chiffres séparateurs, indexé membres et de l'élément initialiseurs,
await
en catch
et finally
, l'extension Add
méthodes de collecte des initialiseurs.
Il n'y a pas une telle chose comme C# 3.5 - la cause de la confusion ici, c'est que le C# 3.0 est présent dans .NET 3.5. La langue et le cadre sont versionnées indépendamment, cependant - comme c'est le CLR, qui est à la version 2.0 .NET 2.0 à 3.5 .NET 4 introduction CLR 4.0, service packs malgré. Le CLR .NET 4.5 a diverses améliorations, mais le doublage n'est pas clair: dans certains endroits, il peut être appelé CLR 4.5 (cette page MSDN utilisé pour se référer à elle de cette façon, par exemple), mais l' Environment.Version
de la propriété de rapports toujours 4.0.xxx.
Des informations plus détaillées sur la relation entre la langue, de l'exécution et du cadre de versions est disponible sur le C# en Profondeur du site. Cela comprend des informations sur les fonctionnalités de C# 3.0, vous pouvez utiliser lors du ciblage .NET 2.0. (Si quelqu'un veut apporter tout le contenu dans ce wiki réponse, qu'ils sont les bienvenus.)