2909 Stimmen

Was sind die korrekten Versionsnummern für C#?

Was sind die korrekten Versionsnummern für C#? Was kam wann heraus? Warum kann ich keine Antworten finden über C# 3.5 ?

Diese Frage soll vor allem denjenigen helfen, die nach einer Antwort mit einer falschen Versionsnummer suchen, z. B. C# 3.5 . Die Hoffnung ist, dass jeder, der eine Antwort mit der falschen Versionsnummer nicht finden kann, die este Frage und suchen Sie dann erneut mit der richtigen Versionsnummer.

92 Stimmen

Dies ist eine der besten Quellen, um alles zu verstehen. de.wikipedia.org/wiki/C_Sharp_(Programmiersprache)

1 Stimmen

Sollte dieser zweite Absatz nicht in einem Kommentar statt in der Frage stehen, da er nicht Teil der Frage ist?

31 Stimmen

@TankorSmash: Ich denke, es ist im Kontext der Frage so wichtig, dass es sich lohnt, es dort zu belassen, wo es ist. IMO, natürlich.

3217voto

Jon Skeet Punkte 1325502

Versionsgeschichte der Sprache C#:

Dies sind die Versionen von C# zum Zeitpunkt der Erstellung dieses Berichts bekannt:

Um die Frage des Auftraggebers zu beantworten:

Was sind die korrekten Versionsnummern für C#? Was kam wann heraus? Warum kann ich keine Antworten zu C# 3.5 finden?

Es gibt kein C# 3.5 - die Ursache der Verwirrung ist, dass C# 3.0 in .NET 3.5 enthalten ist. Die Sprache und das Framework werden jedoch unabhängig voneinander versioniert - ebenso wie die CLR, die für .NET 2.0 bis 3.5 die Version 2.0 hat, während .NET 4 die CLR 4.0 einführt, ungeachtet der Service Packs. Die CLR in .NET 4.5 weist verschiedene Verbesserungen auf, aber die Versionierung ist unklar: An einigen Stellen wird sie als CLR 4.5 bezeichnet ( diese MSDN-Seite auf diese Weise bezeichnet), aber die Environment.Version Eigenschaft meldet immer noch 4.0.xxx.

Seit dem 3. Mai 2017 hat das C# Language Team eine Historie der C#-Versionen und -Funktionen in seinem GitHub-Repository erstellt: In C#-Sprachversionen hinzugefügte Funktionen . Außerdem gibt es eine Seite, die über kommende und kürzlich eingeführte Sprachfunktionen informiert .

0 Stimmen

Mit .NET 6 bekommen wir jetzt C# 10, wie es scheint. docs.microsoft.com/de-us/dotnet/csharp/language-reference/

4 Stimmen

Ich bin mir nicht sicher, wann das Dokument veröffentlicht wurde, aber im Jahr 2022 haben wir Link

489voto

nawfal Punkte 65966

Dies ist das Gleiche wie die meisten Antworten hier, aber der Einfachheit halber in Tabellenform, und es hat Visual Studio y .NET Versionen der Vollständigkeit halber.

C#-Version

VS-Version

.NET-Version

CLR-Version

Datum der Veröffentlichung

1.0

2002

1.0

1.0

Februar 2002

1.2

2003

1.1

1.1

April 2003

2.0

2005

2.0

2.0

November 2005

3.0

2.0

November 2006

3.0

2008

3.5

2.0

November 2007

4.0

2010

4.0

4

Apr 2010

5.0

2012

4.5

4

August 2012

5.0

2013

4.5.1

4

Oktober 2013

4.5.2

4

Mai 2014

6.0

2015

4.6

4

Juli 2015

4.6.1

4

November 2015

4.6.2

4

August 2016

7.0

2017

März 2017

4.7

4

Mai 2017

7.1

2017 (v15.3)

Aug 2017

4.7.1

4

Okt 2017

7.2

2017 (v15.5)

Dez 2017

4.7.2

4

Apr 2018

7.3

2017 (v15.7)

Mai 2018

8.0

2019

4.8

4

Apr 2019

9.0

2019 (v16.8)

5.0*

**

November 2020

Versionen seit .NET Core

C#-Version

VS-Version

.NET-Version

Datum der Veröffentlichung

Ende der Unterstützung

2015 Update 3

.NET Core 1.0

Juni 2016

Juni 2019

.NET Core 1.1

November 2016

Juni 2019

7.1

2017 (v15.3)

.NET Core 2.0

Aug 2017

Okt 2018

7.3

2017 (v15.7)

.NET Core 2.1

Mai 2018

Aug 2021

.NET Core 2.2

Dez 2018

Dezember 2019

2019 (v16.3)

.NET Core 3.0

Sep 2019

März 2020

2019 (v16.4)

.NET Core 3.1

Dezember 2019

Dezember 2022

9.0

2019 (v16.8)

.NET 5

November 2020

Februar 2022

10.0

2022

.NET 6

November 2021

November 2024

.NET 7

Nov 2022

Februar 2023

.NET 8

November 2023

November 2026

* - .NET 5.0 ist keine neuere Version des .NET-Frameworks, sondern .NET Core 3. Ab .NET 5.0 gibt es keine neueren Versionen des vollständigen .NET-Frameworks mehr.

** - Es gibt keine separaten CLR-Versionen (CoreCLR) für .NET Core. Was auch immer die .NET Core-Version ist, ist die CoreCLR-Version. Daher wird sie nicht erwähnt.


Nota: Die .NET-Entwicklung ist heutzutage so gut wie unabhängig von VS, es gibt keine Korrelation zwischen den einzelnen Versionen.
Siehe " .NET Framework-Versionen und -Abhängigkeiten " und " .NET-Veröffentlichungsrhythmus " für mehr.

0 Stimmen

@Dai, Es gibt keine Andeutung in meiner Antwort, dass C# 8.0 an .NET 4.8 gebunden ist. Tatsächlich gab es nie eine Anforderung, dass bestimmte Compiler-Versionen bestimmte .NET-Versionen unbedingt erfordern, außer für einige wenige ausgewählte Funktionen. Das war auch schon vor C# 8.0 so. Meine Antwort bezieht sich lediglich auf die zeitliche Abfolge von VS-, .NET- und C#-Versionen. Meine ursprüngliche Antwort bezog sich auf das vollständige .NET-Framework, bis es dieses nicht mehr gab. Sie können sehen, dass es keine anderen .NET Core-Versionen in der Tabelle gibt, weil ich mir nicht die Mühe gemacht habe, auch diese zu berücksichtigen. Mit Ihrer Bearbeitung verlieren die Betrachter Informationen über .NET 4.8.

0 Stimmen

Sie können gerne eine zusätzliche Spalte für .NET Core-Versionen hinzufügen.

0 Stimmen

Sie schrieben "nicht fair" für meine Bearbeitung. Ich hatte es hinzugefügt von .NET-Veröffentlichungsrhythmus und auch ich hatte dem Beitrag etwas hinzugefügt. Sie sollten es dann auch entfernen. Ich meine, es ist keine Schätzung. Ich könnte eine weitere Antwort schreiben, wenn Sie das nicht wollen, aber ich denke, das wäre nicht fair, denn die Idee stammt von Ihnen.

332voto

Astra Punkte 10115

Das größte Problem beim Umgang mit den Versionsnummern von C# ist die Tatsache, dass es nicht an eine Version des .NET Frameworks gebunden ist, was es aufgrund der synchronisierten Releases zwischen Visual Studio und dem .NET Framework zu sein scheint.

Die Version von C# ist eigentlich an den Compiler und nicht an das Framework gebunden. In Visual Studio 2008 können Sie zum Beispiel C# 3.0 schreiben und das .NET Framework 2.0, 3.0 und 3.5 anvisieren. Die Nomenklatur von C# 3.0 beschreibt die Version der Codesyntax und der unterstützten Features auf dieselbe Weise wie ANSI C89, C90, und C99 die C-Syntax und die Funktionen von C beschreiben.

Werfen Sie einen Blick auf Mono und Sie werden sehen, dass Mono 2.0 (hauptsächlich die Version 2.0 des .NET Frameworks aus den ECMA-Spezifikationen) die C# 3.0-Syntax und -Funktionen unterstützt.

223voto

iTSrAVIE Punkte 846

100voto

Pramodh Punkte 28

Version

Spezifikation der Sprache

Microsoft-Compiler

C# 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

Freigegeben mit .NET 4.5 im August 2012

C# 6.0

Freigegeben mit .NET 4.6 2015

C# 7.0

Freigegeben mit .NET 4.7 2017

C# 8.0

Freigegeben mit .NET 4.8 2019

8 Stimmen

Woher haben Sie eine Spezifikation der Sprache C# 2.0 im Dezember 2002? Genauso wie C# 4 im Juni 2006? Sind Sie sicher, dass Sie nicht von den ECMA-Ausgaben sprechen, die völlig unterschiedlich sind?

4 Stimmen

Klicken Sie einfach auf den folgenden Link de.wikipedia.org/wiki/C_Sharp_(Programmiersprache)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X