Quels sont les numéros de version corrects pour C #? Qu'est-il sorti quand? Pourquoi ne puis-je trouver aucune réponse à propos de C # 3.5 ?
Cette question est principalement destinée à aider ceux qui recherchent une réponse en utilisant un numéro de version incorrect, par exemple C # 3.5 . L'espoir est que toute personne qui ne trouve pas de réponse avec le mauvais numéro de version trouvera cette question, puis effectuera une nouvelle recherche avec le bon numéro de version.
Réponses:
Historique des versions du langage C #:
Ce sont les versions de C # connues au moment d'écrire ces lignes:
Dispose
à ceuxIEnumerator
qui ont implémentéIDisposable
. Quelques autres petites fonctionnalités.var
), expressions de requêtedynamic
), variance générique déléguée et d'interface, plus de prise en charge COM, arguments nommés, type de données tuple et paramètres facultatifsawait
danscatch
etfinally
,Add
méthodes d' extension dans les initialiseurs de collection.out
, fonctions locales , littéraux binaires, séparateurs de chiffres et retours asynchrones arbitraires .unmanaged
contraintes de type générique .ref
réaffectation. Améliorations dangereuses:stackalloc
initialisation,fixed
tampons indexés non épinglés ,fixed
instructions personnalisées . Résolution de surcharge améliorée. Variables d'expression dans les initialiseurs et les requêtes.==
et!=
défini pour les tuples. Les champs de support des propriétés automatiques peuvent désormais être ciblés par des attributs.new
expressions de type cible , cible tapée??
et?
), rendements covariants. Caractéristiques mineures: assouplissement de l'ordreref
et despartial
modificateurs, vérification de la valeur nulle des paramètres, paramètres de suppression lambda,int
s natifs , attributs sur les fonctions locales, pointeurs de fonction, lambdas statiques, extensionGetEnumerator
, initialiseurs de module, extension partielle.En réponse à la question du PO:
Il n'y a rien de tel que C # 3.5 - la cause de confusion ici est que le C # 3.0 est présent dans .NET 3.5. Le langage et le framework sont cependant versionnés indépendamment - tout comme le CLR, qui est à la version 2.0 pour .NET 2.0 à 3.5, .NET 4 introduisant CLR 4.0, malgré les Service Packs. Le CLR dans .NET 4.5 présente diverses améliorations, mais le contrôle de version n'est pas clair: à certains endroits, il peut être appelé CLR 4.5 ( cette page MSDN utilisé pour s'y référer de cette façon, par exemple), mais la
Environment.Version
propriété signale toujours 4.0. xxx.Depuis le 3 mai 2017, l'équipe du langage C # a créé un historique des versions et des fonctionnalités C # sur son référentiel GitHub: fonctionnalités ajoutées dans les versions du langage C # . Il existe également une page qui suit les fonctionnalités linguistiques à venir et récemment mises en œuvre .
la source
C'est la même chose que la plupart des réponses ici, mais sous forme de tableau pour plus de facilité, et il a Visual Studio et versions de .NET pour être complet.
Remarque: le développement .NET est à peu près indépendant de VS de nos jours, il n'y a pas de corrélation entre les versions de chacun.
Reportez-vous à " Versions et dépendances de .NET Framework " pour plus d'informations.
la source
Le plus gros problème lorsque vous traitez les numéros de version de C # est le fait qu'il n'est pas lié à une version du .NET Framework, ce qui semble être dû aux versions synchronisées entre Visual Studio et .NET Framework.
La version de C # est en fait liée au compilateur, pas au framework. Par exemple, dans Visual Studio 2008, vous pouvez écrire C # 3.0 et cibler .NET Framework 2.0, 3.0 et 3.5. La nomenclature C # 3.0 décrit la version de la syntaxe du code et les fonctionnalités prises en charge de la même manière que ANSI C89, C90, C99 décrivent la syntaxe / les fonctionnalités du code pour C.
Jetez un œil à Mono , et vous verrez que Mono 2.0 (principalement la version 2.0 implémentée du .NET Framework à partir des spécifications ECMA) prend en charge la syntaxe et les fonctionnalités C # 3.0.
la source
C # 1.0 avec Visual Studio.NET
C # 2.0 avec Visual Studio 2005
C # 3.0 avec Visual Studio 2008
C # 4.0 avec Visual Studio 2010
C # 5.0 avec Visual Studio 2012
C # 6.0 avec Visual Studio 2015
C # 7.0 avec Visual Studio 2017
C # 8.0 avec Visual Studio 2019
la source
_____
SPÉCIFICATION DE______
LA LANGUE DE LA VERSION COMPILATEUR MICROSOFTC # 1.0 / 1.2
____
décembre 2001 ? / 2003 ?___________
Janvier 2002 ?C # 2.0
_______
septembre 2005________________
novembre 2005 ?C # 3.0
_______
mai 2006_____________________
novembre 2006 ?C # 4.0
_______
mars 2009 (ébauche)______________
avril 2010 ?C # 5.0; publié avec .NET 4.5 en août 2012
C # 6.0; publié avec .NET 4.6 2015
C # 7.0; publié avec .NET 4.7 2017
C # 8.0; publié avec .NET 4.8 2019
la source
Historique des versions C #:
C # est un langage de programmation orienté objet simple et puissant développé par Microsoft.
C # a beaucoup évolué depuis sa première version en 2002. C # a été introduit avec .NET Framework 1.0.
Le tableau suivant répertorie les fonctionnalités importantes introduites dans chaque version de C #.
Et la dernière version de C # est disponible dans les versions C # .
1 :
la source
J'ai résumé la plupart des versions de ce tableau. Les seuls manquants devraient être les versions ASP.NET Core. J'ai également ajouté différentes versions d'ASP.NET MVC.
Notez qu'ASP.NET 5 a été renommé ASP.NET Core 1.0 et ASP.NET MVC 6 a été renommé ASP.NET Core MVC 1.0.0. Je pense que ce changement s'est produit vers janvier 2016.
J'ai inclus la date de sortie d'ASP.NET 5 RC1 dans le tableau, mais je n'ai pas encore inclus ASP.NET core 1.0 et d'autres versions de base, car je n'ai pas pu trouver les dates de sortie exactes. Vous pouvez en savoir plus sur les dates de sortie concernant ASP.NET Core ici: Quand la sortie d' ASP.NET Core 1.0 (ASP.NET 5 / vNext) est-elle prévue?
la source
Vous pouvez consulter les dernières versions C # ici
la source
En comparant les articles MSDN "Quoi de neuf dans le langage et le compilateur C # 2.0" et " Quoi de neuf dans Visual C # 2005 ", il est possible de déduire que "C # major_version.minor_version" est inventé en fonction de la numérotation des versions du compilateur.
Il y a C # 1.2 correspondant à .NET 1.1 et VS 2003 et également nommé Visual C # .NET 2003 .
Mais plus loin, Microsoft s'est arrêté pour incrémenter les numéros de version mineure (après le point) ou pour les avoir différents de zéro,
0
. Bien qu'il convient de noter que C # correspondant à .NET 3.5 est nommé dans msdn.microsoft.com comme "Visual C # 2008 Service Pack 1" .Il existe deux dénominations parallèles: par numérotation des versions principales du .NET / compilateur et par numérotation de Visual Studio.
C # 2.0 est synonyme de Visual C # 2005
C # 3.0 correspond (ou, plus précisément, peut cibler) à:
la source
C # 1.0 - Visual Studio .NET 2002
C # 1.2 - Visual Studio .NET 2003
C # 3 - Visual Studio 2008
C # 4 - Visual Studio 2010
C # 5 - Visual Studio 2012
C # 6 - Visual Studio 2015
C # 7.0 - Visual Studio 2017
C # 7.1 - Visual Studio 2017 version 15.3
C # 7.2 - Visual Studio 2017 version 15.5
C # 7.3 - Visual Studio 2017 version 15.7
C # 8.0 - .NET Core 3.0 et Visual Studio 2019 version 16.3
[source]: https://github.com/dotnet/csharplang/blob/master/Language-Version-History.md
la source
C # 8.0 est la dernière version de c # .it est prise en charge uniquement sur .NET Core 3.x et les versions plus récentes. La plupart des fonctionnalités les plus récentes nécessitent des fonctionnalités de bibliothèque et d'exécution introduites dans .NET Core 3.x
Le tableau suivant répertorie le framework cible avec la version et leur version C # par défaut.
Source - versionnage du langage C #
la source