[解決済み] C#の正しいバージョン番号を教えてください。
質問
C#の正しいバージョン番号は何ですか?何がいつ出たのか?についての答えが見つからないのはなぜですか? C# 3.5 ?
この質問は主に、間違ったバージョン番号を使って回答を検索している人を支援するためのものです(例)。 C# 3.5 . 間違ったバージョン番号で答えを見つけることに失敗した人は、次のようなものを見つけることができます。 これ という質問をし、正しいバージョン番号で再度検索してください。
解決方法を教えてください。
C#言語のバージョン履歴。
これらは C#のバージョン この記事の執筆時点で判明していること
- C# 1.0 .NET 1.0とVS2002でリリース(2002年1月)
-
C# 1.2
(奇しくも) .NET 1.1 と VS2003 (2003年4月) と共にリリースされた。最初のバージョンでは
Dispose
オンIEnumerator
を実装したIDisposable
. その他、いくつかの小さな機能。 - C# 2.0 .NET 2.0とVS2005(2005年11月)でリリースされた。主な新機能:ジェネリックス、匿名メソッド、Nullable型、イテレータブロック
-
C# 3.0
.NET 3.5とVS2008でリリースされた(2007年11月)。主な新機能:ラムダ式、拡張メソッド、式木、匿名型、暗黙の型付け(
var
とクエリ式 -
C# 4.0
.NET 4およびVS2010(2010年4月)と共にリリースされました。主な新機能:レイトバインディング(
dynamic
) 、デリゲートとインターフェースの汎用分散、その他 COM サポート、名前付き引数、タプルデータ型、オプションのパラメータ - C# 5.0 .NET 4.5とVS2012でリリースされました(2012年8月)。 主な機能 : 非同期プログラミング、呼び出し元情報の属性。ブレークチェンジ ループ変数のクロージャ .
-
C# 6.0
は、.NET 4.6とVS2015でリリースされました(2015年7月)。で実装されました。
ロスリン
.
特徴
: 自動実装プロパティのイニシャライザ、ディレクティブによる静的メンバのインポート、例外フィルタ、要素のイニシャライザ。
await
でcatch
とfinally
は、拡張子Add
メソッドをコレクションイニシャライザで使用します。 -
C# 7.0
は、.NET 4.7およびVS2017(2017年3月)でリリースされました。メジャー
新機能
:
タプル
,
refローカルとrefリターン
,
パターンマッチ
(パターンベースのスイッチステートメントを含む)。
インライン
out
パラメータ宣言 , ローカル関数 , バイナリ、桁区切り および 任意の非同期リターン . - C# 7.1 は、VS2017 v15.3(2017年8月)でリリースされました。新機能をご紹介します。 非同期メイン , タプルメンバー名推論 , デフォルト式 そして ジェネリックを使ったパターンマッチ .
- C# 7.2 は、VS2017 v15.5(2017年11月)でリリースされました。新機能をご紹介します。 private protected アクセス修飾子 , スパン<T>、別名内部ポインタ、別名スタックオンリー構造体 そして その他もろもろ .
-
C# 7.3
は、VS2017 v15.7(2018年5月)でリリースされました。新機能をご紹介します。
enum、デリゲート、および
unmanaged
汎用型制約 .ref
を再割り当てする。安全でない改善stackalloc
初期化、インデックスの非ピン化fixed
バッファ、カスタムfixed
ステートメントを使用します。オーバーロードの解決を改善しました。初期化子やクエリでの式変数。==
と!=
タプルに対して定義されました。オートプロパティのバッキングフィールドが、アトリビュートでターゲットにできるようになりました。 - C# 8.0 は、.NET Core 3.0 および VS2019 v16.3 (2019年9月) でリリースされました。メジャー 新機能 : nullable reference-types , 非同期ストリーム , インデックスとレンジ , 読み取り専用メンバー , 宣言の使用 , デフォルトのインターフェイスメソッド , 静的ローカル関数 そして 補間された逐語的文字列の強化 .
-
C# 9.0
でリリースされました。
.NET 5.0
およびVS2019 v16.8 (2020年11月)をご参照ください。主要な
新機能
:
init専用プロパティ
,
記録
,
式付き
, データクラス, 位置決めレコード,
トップレベルプログラム
,
パターン照合の改善
(単純型パターン,関係型パターン,論理型パターン),ターゲットタイピングの改良 (ターゲット型
new
式、ターゲットタイプされた??
と?
)、共役リターン。マイナーな機能としてref
とpartial
修飾子、パラメータのNULLチェック、ラムダ廃棄パラメータ、ネイティブのint
s、ローカル関数の属性、関数ポインタ、静的ラムダ、拡張機能GetEnumerator
モジュール初期化子、拡張パーシャル。 -
C# 10.0
は、.NET 6.0(2021年11月)でリリースされました。メジャー
新機能
レコード構造体、構造体パラメータレスコンストラクタ、補間文字列ハンドラ、グローバルな
using
ディレクティブ、ファイルスコープの名前空間宣言、拡張プロパティパターン、const補間文字列、分解における代入と宣言の混合、個々のメソッドに対する(属性による)非同期メソッドビルダーCallerArgumentExpression
属性、拡張された#line
プラグマです。
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 を報告しています。
2017年5月3日現在、C#言語チームがGitHubのリポジトリにC#のバージョンと機能の履歴を作成しました。 C#言語のバージョンアップで追加された機能 . また、以下のようなものもあります。 今後実装される機能および最近実装された機能を追跡するページ .
関連
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#のオートプロパティに初期値を与える最良の方法は何ですか?
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersionの違いは何ですか?
-
[解決済み] 文字列の最初の文字を大文字にする(最大限のパフォーマンスを発揮する)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】Unity 「関連するスクリプトを読み込むことができません」「Win32Exception: システムは指定されたファイルを見つけることができません"
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
[解決済み] C# の辞書を値で初期化する適切な方法
-
[解決済み】私はどのバージョンのC#を使っているのでしょうか?
-
[解決済み】C# 8は.NET Frameworkをサポートしていますか?
-
[解決済み] ASP.NET Core 1.0 (ASP.NET 5 / vNext) のリリースはいつになりますか?