C# リファレンス

このセクションでは、C# のキーワード、演算子、特殊文字、プリプロセッサ ディレクティブ、コンパイラ オプション、およびコンパイラのエラーと警告に関する参考資料を紹介します。

このセクションの内容

C# のキーワード
C# のキーワードと構文に関する情報へのリンクを示します。

C# 演算子
C# の演算子と構文に関する情報へのリンクを示します。

C# 特殊文字
C# のコンテキスト特殊文字とその使用方法に関する情報へのリンクを提供します。

C# プリプロセッサ ディレクティブ
C# ソース コード内に埋め込むためのコンパイラ コマンドに関する情報へのリンクを提供します。

C# コンパイラ オプション
コンパイラ オプションとその使用方法について取り上げます。

C# コンパイラ エラー
C# コンパイラのエラーや警告の原因と修正法を示すコード スニペットを示します。

C# 言語仕様
C# 6.0 の言語仕様です。 これは、C# 6.0 言語に関するドラフト提案です。 このドキュメントは、ECMA C# 標準委員会との共同作業により改良されています。 バージョン 5.0 は、Standard ECMA-334 5th Edition ドキュメントとして 2017 年 12 月にリリースされています。

C# 6.0 より後のバージョンで実装された機能は、言語仕様の提案に示されています。 これらのドキュメントでは、言語仕様に加えた新機能の内容が説明されています。 これらはドラフト提案の形式です。 これらの仕様は、改良ののち、正式なレビューを行うために ECMA 標準委員会に提出され、C# 標準の今後のバージョンに組み込まれる予定です。

C# 7.0 仕様の提案
C# 7.0 では多数の新機能が実装されます。 これには、パターン マッチング、ローカル関数、out 変数宣言、throw 式、バイナリ リテラル、および桁区切り文字が含まれます。 このフォルダーには、これらの各機能に関する仕様が含まれています。

C# 7.1 仕様の提案
C#7.1 には新しい機能が追加されています。 まず、Task または Task<int> を返す Main メソッドを記述できます。 これにより、async 修飾子を Main に追加することができます。 型を推論できる場所では型なしで default 式を使用することができます。 また、タプルのメンバー名を推論することができます。 最後に、ジェネリックにはパターン マッチングを使用できます。

C# 7.2 仕様の提案
C#7.2 では小さな機能が複数追加されています。 in キーワードを使用して readonly 参照によって引数を渡すことができます。 Span および関連する型についてコンパイル時の安全性をサポートするために低レベルの変更が複数加えられました。 名前付き引数を使用できます。この場合、状況によって、後の引数は位置指定引数となります。 private protected アクセス修飾子を使用すると、呼び出し元が同じアセンブリ内で実装された派生型に限定されるように指定することができます。 ?: 演算子は変数への参照に解決される可能性があります。 先頭の桁区切り記号を使用して 16 進数と 2 進数の書式を設定することもできます。

C# 7.3 仕様の提案
C#7.3 は、いくつかの小規模な更新プログラムを含む別個のポイント リリースです。 ジェネリック型パラメーターに対して新しい制約を使用できます。 その他の変更により、fixed フィールドの操作が簡単になります。これには、stackalloc 割り当ての使用も含まれます。 ref キーワードを使用して参照されるローカル変数は、新しいストレージを参照するように再割り当てされる場合があります。 コンパイラによって生成されたバッキング フィールドを対象とする自動実装プロパティに属性を配置することができます。 初期化子内で式の変数を使用できます。 タプルは、等値 (または非等値) を確認するために比較することができます。 オーバーロードの解決法に対してもいくつかの改良が行われました。

C# 8.0 仕様の提案
C# 8.0 は .NET Core 3.0 で使用できます。 null 許容参照型、再帰的なパターン マッチング、既定のインターフェイス メソッド、非同期ストリーム、範囲とインデックス、using および using 宣言に基づくパターン、null 合体演算子割り当て、読み取り専用インスタンス メンバーなどの機能が含まれています。

C# 9 仕様の提案
C# 9 は .NET 5 で使用できます。 特徴としては、レコード、最上位のステートメント、パターン マッチングの拡張、初期化のみのセッター、ターゲット型の新しい式、モジュール初期化子、部分メソッドの拡張、静的匿名関数、型指定された条件式、共変の戻り値の型、foreach ループでの拡張機能 GetEnumerator、ラムダ ディスカード パラメーター、ローカル関数の属性、ネイティブ サイズの整数、関数ポインター、localsinit フラグの出力の抑制、制約のない型パラメーターの注釈が含まれます。

C# 10.0 仕様の提案
C# 10 は .NET 6 で使用できます。 特徴としては、レコード構造体、パラメーターなしの構造体コンストラクター、グローバルな using ディレクティブ、ファイルスコープの名前空間、拡張プロパティパターン、強化された挿入文字列、定数の補間文字列、ラムダの向上、呼び出し元引数の式、拡張 #line ディレクティブ、ジェネリック属性、より明確な代入分析、および AsyncMethodBuilder オーバーライドがあります。

C# 用 Visual Studio 開発環境の使用
IDE およびエディターについて説明する概念トピックおよびタスク トピックへのリンクを提供します。

C# プログラミング ガイド
C# プログラミング言語の使用方法について説明します。