c# - 情報 - windows 10 判定




C#の正しいバージョン番号は何ですか? (6)

C#言語バージョン履歴:

これらは、この執筆時点で知られているC#バージョンです

  • .NET 1.0とVS2002でリリースされたC#1.0 (2002年1月)
  • C#1.2 (奇妙なことに); .NET 1.1とVS2003(2003年4月)でリリースされました。 IDisposableを実装したIEnumerator Disposeを呼び出す最初のバージョン。 他にもいくつかの小さな機能があります。
  • .NET 2.0とVS2005でリリースされたC#2.0 (2005年11月) 主な新機能:ジェネリック、匿名メソッド、null可能型、反復子ブロック
  • .NET 3.5およびVS2008(2007年11月)でリリースされたC#3.0 主な新機能:ラムダ式、拡張メソッド、式ツリー、匿名型、暗黙の型指定( var )、クエリ式
  • .NET 4とVS2010でリリースされたC#4.0 (2010年4月) 主な新機能:遅延バインディング( dynamic )、デリゲートとインターフェイス汎用分散、より多くのCOMサポート、名前付き引数、タプルデータ型およびオプションのパラメータ
  • .NET 4.5とVS2012でリリースされたC#5.0 (2012年8月) 主な機能 :非同期プログラミング、発信者情報属性。 変更を破る: ループ変数の閉包
  • .NET 4.6とVS2015でリリースされたC#6.0 (2015年7月) Roslynによって実装されました。 Features :自動的に実装されるプロパティのイニシャライザ、静的メンバーをインポートするためのディレクティブ、例外フィルタ、要素イニシャライザを使用しawait catchfinallyに拡張子がAddれます。
  • .NET 4.7およびVS2017(2017年3月)でリリースされたC#7.0な新機能tuplesref localsおよびref returnパターンマッチング (パターンベースのswitch文を含む)、 インラインoutパラメータ宣言ローカル関数バイナリリテラル任意の非同期が返されます
  • VS2017 v15.3(2017年8月)でリリースされたC#7.1新機能: 非同期メインタプルメンバー名推論デフォルト式ジェネリックとのパターンマッチング
  • VS2017 v15.5(2017年11月)でリリースされたC#7.2新機能: プライベート保護アクセス修飾子Span <T>、別名内部ポインタ、別名stackonly構造体その他
  • VS2017 v15.7(2018年5月)でリリースされたC#7.3 新しい機能: enum、delegate、およびunmanagedジェネリック型の制約ref再割り当て。 安全でない改善点: stackalloc初期化、 fixedされていないインデックス付きfixedバッファー、カスタムfixedステートメント。 過負荷の解決を改善しました。 イニシャライザとクエリの式変数。 ==!=はタプルに対して定義されています。 自動プロパティのバッキングフィールドを属性別にターゲットに設定できるようになりました。
  • 現在プレビュー中のC#8.0予想される新機能nullableでない参照型IAsyncEnumerable<T>サポート、範囲、およびデフォルトのインターフェイスメソッド。

OPの質問に対する回答:

C#の正しいバージョン番号は何ですか? いつ何が出てきたのですか? なぜC#3.5についての回答が見つからないのですか?

C#3.5のようなものはありません - 混乱の原因は、C#3.0が.NET 3.5に存在することです。 言語とフレームワークは独立してバージョン管理されていますが、CLRと同様に.NET 2.0〜3.5ではバージョン2.0、.NET 4ではCLR 4.0が導入されています。 .NET 4.5のCLRにはさまざまな改良が施されていますが、バージョン管理は明確ではありません。CLR 4.5と呼ばれる場合もありますが( このMSDNページではこのように参照していますが)、 Environment.Versionプロパティ4.0.xxxを報告します。

言語、ランタイム、およびフレームワークのバージョン間の関係の詳細については、 C#in Depthサイトを参照してください 。 これには、.NET 2.0を対象とするときに使用できるC#3.0の機能に関する情報が含まれます。 (誰もがこのwikiの答えにすべてのコンテンツを持って来たいと思っている人は、歓迎します。)

2017年5月3日現在、C#言語チームは、C#バージョンの履歴とgithubリポジトリの機能を作成しました今後登場する言語機能と最近実装された言語機能を追跡するページもあります

C#の正しいバージョン番号は何ですか? いつ何が出てきたのですか? なぜC#3.5についての回答が見つからないのですか?

この質問は主に、間違ったバージョン番号( C#3.5など)を使用して回答を探している人を支援することです。 希望するのは、間違ったバージョン番号の回答を見つけられなかった人は、 この質問を見つけて正しいバージョン番号で再度検索することです。


C#のバージョン番号を扱う際の最大の問題は、Visual Studioと.NET Frameworkの同期リリースによるものと思われる.NET Frameworkのバージョンには関係していないという事実です。

C#のバージョンは実際にはフレームワークではなくコンパイラにバインドされています。 たとえば、Visual Studio 2008では、C#3.0とターゲット.NET Framework 2.0,3.0、および3.5を記述できます。 C#3.0の命名法は、 ANSI C89、C90、C99がCのコード構文/機能を記述するのと同じ方法で、コード構文とサポートされる機能のバージョンを記述します。

Monoを見ると、Mono 2.0(主にECMA仕様の.NET Frameworkのバージョン2.0が実装されています)がC#3.0の構文と機能をサポートしています。


VERSION _____言語仕様______マイクロソフト・コンパイラ

C# 1.0 / 1.2 ____ 2001年12月 / 2003 ___________ 2002年1月

C#2.0 _______ 2005年9月 ________________ 2005年11月

C#3.0 _______ 2006年5月 _____________________ 2006年11月

C#4.0 _______ 2009年3月(草案) ______________ 2010年4月

C#5.0; 2012年8月に.NET 4.5でリリース

C#6.0; .NET 4.6 2015でリリース

C#7.0; .NET 4.7 2017でリリース


C#バージョン履歴:

C#は、Microsoftが開発したシンプルで強力なオブジェクト指向プログラミング言語です。

C#は2002年の最初のリリース以来ずっと進化しています.C#は.NET Framework 1.0で導入されました。

次の表は、C#の各バージョンで導入された重要な機能を示しています。

C#の最新バージョンはC#のバージョンで利用できます。


最新のC#バージョンはhere確認できhere


私はこの表のほとんどのバージョンを要約しました。 欠落しているのはASP.NET Coreバージョンのみです。 私はまた、ASP.NET MVCの異なるバージョンを追加しました。

ASP.NET 5はASP.NET Core 1.0としてリブランドされ、ASP.NET MVC 6はASP.NET Core MVC 1.0.0としてリブランドされています。 この変更は2016年1月頃に起こったと思います。

私はテーブルにASP.NET 5 RC1のリリース日を含めましたが、正確なリリース日を見つけることができなかったので、まだASP.NETコア1.0とその他のコアバージョンを含めていません。 ASP.NET Coreに関するリリース日の詳細こちらをご覧ください: ASP.NET Core 1.0(ASP.NET 5 / vNext)はいつリリースされる予定ですか?





compiler-version