C# プログラミングをゼロから学びます。
| # | トピック | 概要 |
|---|---|---|
| 1 | C# と .NET の基本 | コンパイルと実行の仕組み、.NET の役割 |
| 2 | 中間言語と JIT コンパイル | IL・CLR・JIT、Unity の Mono と IL2CPP |
| 3 | .NET SDK と dotnet CLI | SDK のインストールから作成・ビルド・実行まで |
| # | トピック | 概要 |
|---|---|---|
| 4 | 最初のプログラムと変数 | 逐次実行・リテラル・算術演算・変数の宣言と代入 |
| 5 | プリミティブ型と型変換 | 数値型の表現範囲・符号・char と string・型変換・異なる型の演算 |
| 5.1 | 数値リテラルと型エイリアス(補足) | 0x/0b リテラル・型サフィックス・int=System.Int32・2の補数 |
| 6 | 条件分岐 | if/else, switch による分岐処理 |
| 6.1 | ブロック文とスコープ(補足) | ブロック文・スコープ・else if の実体 |
| 6.2 | 条件演算子と式・文(補足) | 式と文の違い・? : 演算子 |
| 7 | 反復処理 | while・do-while・for・foreach による繰り返し処理 |
| 7.1 | インクリメント・デクリメント(補足) | ++ -- の前置・後置の違い・複合代入演算子 |
| 7.2 | break と continue(補足) | ループの途中脱出とスキップ |
| 8 | ビット演算 | AND・OR・XOR・シフト・ビットマスクによるフラグ管理 |
| # | トピック | 概要 |
|---|---|---|
| 9 | 配列の基礎 | 宣言・初期化・インデックスアクセス・Length・for/foreach 走査 |
| 9.1 | 配列と foreach(補足) | foreach の書式詳細・var・読み取り専用・for との使い分け |
| 9.2 | Array クラスと配列の性質(補足) | 参照型の挙動・Sort/Reverse/IndexOf/Copy/Clear |
| 9.3 | ビットパッキング(補足) | bool[8] を byte で表現するパック/アンパックの手法 |
| 10 | 多次元配列 | 2 次元配列(行列)の宣言・初期化・GetLength・ネストループ走査 |
| 11 | ジャグ配列 | 可変長行の配列・多次元配列との比較と使い分け |
| # | トピック | 概要 |
|---|---|---|
| 12 | クラスとフィールド | クラスの定義・インスタンス生成・フィールド |
| 13 | メソッド | メソッドの定義・パラメータ・戻り値・オーバーロード |
| 14 | コンストラクタ | new 時の自動初期化・デフォルトコンストラクタ |
| 15 | アクセス修飾子 | public / private によるカプセル化 |
| 16 | プロパティ | get / set アクセサー・自動実装・読み取り専用プロパティ |
| 17 | インデクサ | this[] で配列のようにアクセスできるクラスの定義 |
| # | トピック | 概要 |
|---|---|---|
| 18 | ref / out / in パラメータ | 値渡しとの違い・参照渡し・読み取り専用の参照渡し |
| 19 | 省略可能パラメータと名前付き引数 | デフォルト値・名前付き引数 |
| 20 | params キーワード | params による可変長引数・配列渡しとの違い・コンパイラの変換 |
| 21 | オーバーロード解決 | 候補の絞り込み・完全一致 / 暗黙変換 / params の優先順位・あいまいエラー |
| 22 | 演算子のオーバーロード | 自作クラスに + や == などの演算子を定義する方法 |
| 23 | 再帰関数とコールスタック | 再帰呼び出し・終了条件・スタックフレームの積み重なり |
| 24 | static メンバーと static クラス | クラスに属するメンバー・static コンストラクタ・static class |
| 25 | 拡張メソッド | 既存の型にメソッドを追加したように見せる書き方 |
| # | トピック | 概要 |
|---|---|---|
| 26 | 継承 | 基底クラス・派生クラス・base キーワード・コンストラクタ連鎖 |
| 27 | 型変換と型チェック | アップキャスト・ダウンキャスト・is・as・パターンマッチング |
| 28 | protected 修飾子 | protected のアクセス範囲・継承チェーンでの到達範囲・internal |
| 29 | オーバーライドとポリモーフィズム | virtual・override・動的ディスパッチ |
| 30 | メソッドの隠ぺいと sealed | new 修飾子・override との違い・sealed class・sealed override |
| 31 | 抽象クラスと抽象メソッド | abstract class・abstract メソッド・派生クラスでの強制実装 |
| 32 | インターフェイス | interface 宣言・実装・多重実装・抽象クラスとの違い |
| 33 | インターフェイスの明示的実装 | 同名メンバーの衝突・明示的実装の書き方・暗黙的実装との比較 |
| # | トピック | 概要 |
|---|---|---|
| 34 | ジェネリクスの基本 | 型パラメータ <T>・ジェネリッククラスの定義と利用・object との比較(型安全性) |
| 35 | ジェネリックメソッド | T Method<T>(T x) の書き方・型推論・静的ユーティリティへの応用 |
| 36 | 型制約 | where T : 各種制約(class・struct・new()・インターフェイス・基底クラス) |
| 37 | 共変・反変 | out T(共変)・in T(反変)・不変の違いとジェネリックインターフェイスへの適用 |
| # | トピック | 概要 |
|---|---|---|
| 38 | デリゲートの基本 | delegate 型の宣言・インスタンス化・呼び出し・実行時のメソッド切り替え |
| 39 | デリゲートの変数渡しとコールバック | デリゲートをパラメータとして渡す・コールバックパターン |
| 40 | マルチキャストデリゲート | += / -= による複数メソッドの登録と解除・GetInvocationList() |
| 41 | イベント | event キーワード・発行者/購読者パターン・EventHandler 標準パターン |
| 42 | ラムダ式 | => 構文・式ラムダと文ラムダ・Action / Func 組み込みデリゲート型 |
| 43 | 変数キャプチャ | ラムダ式によるスコープ外変数のキャプチャ・ループ内の罠・static ラムダ |
| 44 | ローカル関数 | メソッド内メソッド・再帰との相性・static ローカル関数・ラムダ式との使い分け |
このセクションはプログラミング未経験の方を対象としています。特別な前提知識は不要です。