Was sind die richtigen Versionsnummern für C #? Was kam wann heraus? Warum kann ich keine Antworten zu C # 3.5 finden ?
Diese Frage soll in erster Linie denjenigen helfen, die nach einer Antwort mit einer falschen Versionsnummer suchen, z . B. C # 3.5 . Die Hoffnung ist, dass jeder, der keine Antwort mit der falschen Versionsnummer findet, diese Frage findet und dann erneut mit der richtigen Versionsnummer sucht.
Antworten:
Versionsverlauf in C # -Sprache:
Dies sind die Versionen von C # , über die zum Zeitpunkt dieses Schreibens bekannt war:
Dispose
vonIEnumerator
s, die implementiertIDisposable
. Ein paar andere kleine Funktionen.var
), Abfrageausdrückedynamic
), generische Varianz von Delegaten und Schnittstellen, mehr COM-Unterstützung, benannte Argumente, Tupeldatentyp und optionale Parameterawait
incatch
undfinally
ErweiterungsmethodenAdd
in Sammlungsinitialisierern verwenden.out
Parameterdeklarationen , lokale Funktionen , Binärliterale, Zifferntrennzeichen und beliebige asynchrone Returns .unmanaged
generische Typeinschränkungen .ref
Neuzuweisung. Unsichere Verbesserungen:stackalloc
Initialisierung, nicht fixierte indiziertefixed
Puffer, benutzerdefiniertefixed
Anweisungen. Verbesserte Überlastungsauflösung. Ausdrucksvariablen in Initialisierern und Abfragen.==
und!=
für Tupel definiert. Die Sicherungsfelder der automatischen Eigenschaften können jetzt nach Attributen ausgerichtet werden.new
, Ziel eingegeben??
und?
), kovariante Renditen. Kleinere Funktionen: Relax-Reihenfolgeref
undpartial
Modifikatoren, Überprüfung der Parameter-Null, Lambda-Discard-Parameter, nativeint
s, Attribute für lokale Funktionen, Funktionszeiger, statische Lambdas, ErweiterungGetEnumerator
, Modulinitialisierer, teilweise Erweiterung.Als Antwort auf die Frage des OP:
Es gibt kein C # 3.5 - die Ursache für Verwirrung ist, dass C # 3.0 in .NET 3.5 vorhanden ist. Die Sprache und das Framework werden jedoch unabhängig voneinander versioniert - ebenso wie die CLR in Version 2.0 für .NET 2.0 bis 3.5, .NET 4 mit CLR 4.0, ungeachtet der Service Packs. Die CLR in .NET 4.5 weist verschiedene Verbesserungen auf, die Versionierung ist jedoch unklar: An einigen Stellen wird sie möglicherweise als CLR 4.5 bezeichnet ( diese MSDN-Seite wird beispielsweise auf diese Weise verwendet), die
Environment.Version
Eigenschaft meldet jedoch weiterhin 4.0. xxx.Ab dem 3. Mai 2017 hat das C # -Sprachteam einen Verlauf von C # -Versionen und -Funktionen in seinem GitHub-Repository erstellt: Funktionen, die in C # -Sprachenversionen hinzugefügt wurden . Es gibt auch eine Seite, auf der kommende und kürzlich implementierte Sprachfunktionen nachverfolgt werden .
quelle
Dies entspricht den meisten Antworten hier, ist jedoch der Einfachheit halber tabellarisch aufgeführt und enthält der Vollständigkeit halber Visual Studio- und .NET- Versionen.
Hinweis: Die .NET-Entwicklung ist heutzutage weitgehend unabhängig von VS. Es gibt keine Korrelation zwischen den einzelnen Versionen. Weitere
Informationen finden Sie unter " .NET Framework-Versionen und -Abhängigkeiten ".
quelle
Das größte Problem beim Umgang mit den Versionsnummern von C # ist die Tatsache, dass es nicht an eine Version von .NET Framework gebunden ist, was anscheinend auf die synchronisierten Versionen zwischen Visual Studio und .NET Framework zurückzuführen ist.
Die Version von C # ist tatsächlich an den Compiler gebunden, nicht an das Framework. In Visual Studio 2008 können Sie beispielsweise C # 3.0 schreiben und auf .NET Framework 2.0, 3.0 und 3.5 abzielen. Die C # 3.0-Nomenklatur beschreibt die Version der Codesyntax und der unterstützten Funktionen auf dieselbe Weise wie ANSI C89, C90, C99 die / für C.
Wenn Sie sich Mono ansehen , werden Sie feststellen, dass Mono 2.0 (meistens implementierte Version 2.0 von .NET Framework aus den ECMA-Spezifikationen) die C # 3.0-Syntax und -Funktionen unterstützt.
quelle
C # 1.0 mit Visual Studio.NET
C # 2.0 mit Visual Studio 2005
C # 3.0 mit Visual Studio 2008
C # 4.0 mit Visual Studio 2010
C # 5.0 mit Visual Studio 2012
C # 6.0 mit Visual Studio 2015
C # 7.0 mit Visual Studio 2017
C # 8.0 mit Visual Studio 2019
quelle
VERSION
_____
-Programmiersprachenspezifikation______
MICROSOFT COMPILERC # 1.0 / 1.2
____
Dezember 2001 ? / 2003 ?___________
Januar 2002 ?C # 2.0
_______
September 2005________________
November 2005 ?C # 3.0
_______
Mai 2006_____________________
November 2006 ?C # 4.0
_______
März 2009 (Entwurf)______________
April 2010 ?C # 5,0; veröffentlicht mit .NET 4.5 im August 2012
C # 6.0; veröffentlicht mit .NET 4.6 2015
C # 7.0; veröffentlicht mit .NET 4.7 2017
C # 8,0; veröffentlicht mit .NET 4.8 2019
quelle
C # -Versionsverlauf:
C # ist eine einfache und leistungsstarke objektorientierte Programmiersprache, die von Microsoft entwickelt wurde.
C # hat sich seit seiner ersten Veröffentlichung im Jahr 2002 stark weiterentwickelt. C # wurde mit .NET Framework 1.0 eingeführt.
In der folgenden Tabelle sind wichtige Funktionen aufgeführt, die in jeder Version von C # eingeführt wurden.
Die neueste Version von C # ist in C # -Versionen verfügbar .
1 :
quelle
Ich habe die meisten Versionen in dieser Tabelle zusammengefasst. Die einzigen fehlenden sollten ASP.NET Core-Versionen sein. Ich habe auch verschiedene Versionen von ASP.NET MVC hinzugefügt.
Beachten Sie, dass ASP.NET 5 in ASP.NET Core 1.0 und ASP.NET MVC 6 in ASP.NET Core MVC 1.0.0 umbenannt wurde. Ich glaube, diese Änderung ist irgendwann im Januar 2016 eingetreten.
Ich habe das Veröffentlichungsdatum von ASP.NET 5 RC1 in die Tabelle aufgenommen, aber ich habe ASP.NET Core 1.0 und andere Kernversionen noch nicht aufgenommen, da ich die genauen Veröffentlichungsdaten nicht finden konnte. Weitere Informationen zu den Veröffentlichungsdaten für ASP.NET Core finden Sie hier: Wann ist die Veröffentlichung von ASP.NET Core 1.0 (ASP.NET 5 / vNext) geplant?
quelle
Sie können die neuesten C # -Versionen hier überprüfen
quelle
Wenn man die MSDN-Artikel "Was ist neu in der C # 2.0-Sprache und im Compiler ? " Und " Was ist neu in Visual C # 2005 " vergleicht, kann man schließen, dass "C # major_version.minor_version" gemäß der Versionsnummerierung des Compilers geprägt ist.
Es gibt C # 1.2, das .NET 1.1 und VS 2003 entspricht und auch als Visual C # .NET 2003 bezeichnet wird .
Aber weiter stoppte Microsoft, um die Nebenversionsnummern (nach dem Punkt) zu erhöhen oder um andere als Null zu haben
0
. Es ist jedoch zu beachten, dass C #, das .NET 3.5 entspricht, in msdn.microsoft.com als "Visual C # 2008 Service Pack 1" bezeichnet wird .Es gibt zwei parallele Bezeichnungen: Nach der Hauptversionsnummerierung von .NET / Compiler und nach der Visual Studio-Nummerierung.
C # 2.0 ist ein Synonym für Visual C # 2005
C # 3.0 entspricht (oder kann genauer gesagt zielen):
quelle
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 und Visual Studio 2019 Version 16.3
[Quelle]: https://github.com/dotnet/csharplang/blob/master/Language-Version-History.md
quelle
C # 8.0 ist die neueste Version von c # .it wird nur unter .NET Core 3.x und neueren Versionen unterstützt. Viele der neuesten Funktionen erfordern Bibliotheks- und Laufzeitfunktionen, die in .NET Core 3.x eingeführt wurden
In der folgenden Tabelle sind das Zielframework mit der Version und deren Standard-C # -Version aufgeführt.
Quelle - Versionierung der C # -Sprache
quelle