0Pricing
C# Academy icon

C# Academy

C_SHARPBackendWebGamesDesktopMobileFrontendBeginnerCloudDatabaseEnterprise

C# プログラミングをマスターし、C# Academy で多機能なソフトウェアソリューションを開発しましょう。

🤖 AI 搭載📚 93 コース👥 100,000+ ユーザー⭐ 4.9 評価
コース概要

C# — 1 つの言語、.NET エコシステム全体

C# は .NET プラットフォームの主言語で、Web API、デスクトップアプリ、リアルタイムサービス、クラウドネイティブワーカー、ゲームの構築に使われます。レコード、プライマリコンストラクタ、required メンバー、パターンマッチング、Span<T> といった最新の言語機能を継続的に提供しながら、静的型付けとガベージコレクションを備えた成熟したツールチェーンを保つ言語です。このトラックは全領域をカバーしています。初めての変数からソースジェネレータ、CQRS、Native AOT まで。

学習内容

型、制御フロー、文字列、配列、メソッドから始まり、オブジェクトモデル——クラス、継承、構造体、レコード、インターフェイス——へ進みます。中級レベルでは LINQ、async/await、ジェネリクス、デリゲート、Entity Framework Core、ASP.NET Core Minimal API、SignalR、Blazor コンポーネントをカバーします。バックエンド側では依存性注入、ミドルウェア、JWT 認証、認可ポリシー、FluentValidation、レート制限、Redis を使った分散キャッシング、Polly による復元力パターンを進めます。アドバンスコースでは Span<T> とメモリ管理、リフレクション、式ツリー、MediatR を使った CQRS、MassTransit によるメッセージキュー、OpenTelemetry、並列処理、Native AOT パフォーマンス最適化に対応しています。

学習パス

82 のアクティブコースが A1 から C2 までをカバーしています。A1 と A2 コースは言語の基礎を確立します——変数、演算子、列挙型、型推論、文字列補間。B1 はオブジェクト指向モデル全体と、タプル、分解、範囲、コレクション式といった最新の構文をカバーし、ミニプロジェクト「Shape Library」で締めくくります。B2 は .NET ランタイムとそのエコシステムに進みます。EF Core、ASP.NET Core API、gRPC、SignalR、Blazor、バックグラウンドワーカー、ユニットテスト、async/await を使ったタスク。C1 コースは本番環境の関心事に取り組みます——Advanced Async Patterns、Pattern Matching Deep Dive、Advanced Generics & Constraints、CQRS and MediatR Patterns、Cancellation & Timeouts、Parallelism & Data Processing、Span<T> & Memory。トラックは C2 の Source Generators で締めくくられます。

仕組み

各コースは短い、フォーカスされたレッスンに分かれており、組み込みのコードエディタで完了させ、リアルタイムフィードバックが得られます。行き詰まったときはいつでも AI チューターが利用でき、演習はライブ C# ランタイムに直接対して実行されるため、ローカルセットアップなしに即座に結果が見られます。

学習を始める →

学び方

🎯
インタラクティブレッスン
リアルタイムフィードバック付きの実践的なコード演習
🤖
AIチューター
わからないときは、AIが即座にサポート
💻
組み込みエディタ
ブラウザで直接コードを書いて実行
🏆
認定資格
コース完了時に認定資格を取得
カリキュラム

93コース

C# Academyラーニングパスのすべてのコース

01

C#プログラミング入門

A13レッスン

デスクトップアプリケーションからWebアプリケーション、ゲームまで、幅広いアプリケーションの作成に使われる、強力で初心者にも学びやすい言語C#でプログラミングの基礎を学びましょう。このカテゴリーでは、開発環境を設定し、最初のプログラムを書き、変数、入出力、コメントなどの基本概念…

02

C#で始めるプログラミング入門 — パート2

A13レッスンPRO

デスクトップからWeb、ゲームまで、さまざまなアプリケーションの作成に使われる、強力で初心者にも扱いやすい言語C#でプログラミングの基礎を学びます。このカテゴリでは、開発環境を整え、最初のプログラムを書き、変数、入出力、コメントなどの基本概念を学びます。これらのレッスンが、プロ…

03

C#入門:概念とセットアップ

A13レッスンPRO

CLR/.NETランタイム、JITとAOTの基礎、SDKと dotnet CLI、最初のプログラムからC#を始めます。小さな画面で学びやすく、すぐに成果を得られる構成です。

04

型と変数の基礎

A13レッスンPRO

基本要素を身につけます。値型と参照型、リテラルと数値サフィックス、 var による型推論、定数とreadonlyフィールドの違いを学びます。

05

C#速習レビュー

A15レッスンPRO

制御フロー、ループ、配列、文字列のレッスンを通して、C#プログラミングの基本要素を身につけます。コードで判断を行う方法、反復処理を効率的に実行する方法、データのコレクションを管理する方法を学びます。最後には、C#を使って実践的な問題を解決するための力が身につきます。

06

C#の演算子と式

A24レッスンPRO

C#の算術、比較、論理、ビット演算子と、演算子の優先順位を使いこなします。

07

var、dynamic、型推論

A24レッスンPRO

最新のC#で、var、dynamic、明示的な型指定を正しく使い分けます。

08

文字列のフォーマットと補間

A24レッスンPRO

補間、複合書式指定、書式指定子を使って、読みやすく整形されたテキストを作成します。

09

列挙型徹底攻略

A24レッスンPRO

フラグ、基になる型、安全な変換など、列挙型を効果的に扱います。

10

C#の数学と数値演算

A24レッスンPRO

C#の数値型とMathを使って、自信を持って計算します。

11

C#で配列を扱う

A24レッスンPRO

配列で固定長のデータコレクションを保存・処理します。

12

C#のforeachと反復処理パターン

A24レッスンPRO

foreachと反復処理の慣用表現で、データをすっきりループ処理します。

13

C#のcharとテキストの基礎

A24レッスンPRO

個々の文字列や文字を調べ、変換します。

14

制御フローの基礎

A23レッスンPRO

if/else、従来のswitch、ループ、break/continue、安全なguardチェックなど、基本的な制御フローを明確で小さな例から学びます。

15

メソッドとパラメーター

A23レッスンPRO

明確なメソッドを書きます。シグネチャと戻り値、式形式のメンバー(C# 6)、省略可能パラメーターと名前付きパラメーター、ref/outの基礎、オーバーロード、ローカル関数に関する注意点を扱います。

16

文字列とテキスト

A23レッスンPRO

テキストを扱います。stringの不変性、文字列補間とエスケープシーケンス、パスに適した逐語的文字列、効率的な StringBuilder 、比較、カルチャに関する注意点、 char の基礎を学びます。

17

配列とコレクション(入門)

A23レッスンPRO

基本的なコレクションから始めます。 配列 、 List<T> 、 Dictionary<TKey,TValue> を扱い、簡単なスライスと安全な検索方法を学びます。

18

アクセス制御と名前空間

A23レッスンPRO

public 、 internal 、 protected 、 private を使って可視性を制御し、メンバーにアクセスできる範囲を理解します。注: file 修飾子はC# 6より新しい機能です。

19

Nullable値型

B14レッスンPRO

Nullable 、?構文、null対応演算子を使って、オプショナルな値型を安全に扱います。

20

プロパティとインデクサー

B14レッスンPRO

プロパティ、自動実装プロパティ、式形式のメンバー、インデクサーで状態をカプセル化します。

21

コンストラクターとオブジェクト初期化子

B14レッスンPRO

コンストラクター、コンストラクターチェーン、オブジェクト初期化子構文を使って、オブジェクトを適切に初期化します。

22

静的クラスとメンバー

B14レッスンPRO

静的クラス、メソッド、フィールド、コンストラクターでユーティリティ型と共有状態を設計します。

23

タプルと分解

B14レッスンPRO

値タプル、名前付き要素、分解を使って、複数の値を返したり取り出したりします。

24

ボックス化、ボックス化解除、型変換

B14レッスンPRO

値型と参照型のセマンティクス、ボックス化のコスト、安全な型変換について理解します。

25

C#のDateTimeとTimeSpan

B14レッスンPRO

日付、時刻、期間を正しく扱います。

26

拡張メソッド

B14レッスンPRO

拡張メソッドを使って、既存の型を変更せずに機能を追加します。

27

ローカル関数とクロージャ

B14レッスンPRO

ネストしたローカル関数でロジックを整理し、クロージャが状態をキャプチャする仕組みを理解します。

28

範囲とインデックス

B14レッスンPRO

末尾からのインデックスと範囲演算子を使って、配列やスパンを簡潔にスライスします。

29

コレクション式とスプレッド

B14レッスンPRO

C# 12 のコレクション式を使って、コレクションを簡潔に作成・結合します。

30

プライマリコンストラクター

B14レッスンPRO

クラスや構造体で C# 12 のプライマリコンストラクターを使い、定型コードを減らします。

31

required メンバーと init セッター

B14レッスンPRO

required メンバーと init 専用プロパティを使って、オブジェクトの初期化を確実にします。

32

C#のコレクション:List、Dictionary、HashSet

B14レッスンPRO

目的に合ったコレクションを選び、使いこなします。

33

C#のNullableとnull演算子

B14レッスンPRO

現代的なnull処理演算子で、null安全なC#コードを書きます。

34

オブジェクト指向プログラミング(OOP)の基礎

B17レッスンPRO

C#におけるオブジェクト指向プログラミング(OOP)の原則を、クラス、オブジェクト、継承を通して学びます。データのカプセル化、コードの再利用、プロパティ、メソッド、コンストラクターによる機能拡張の方法を身につけます。このカテゴリーでは、あらゆるソフトウェア開発者に不可欠な、モジ…

35

ファイルとデータの扱い

B15レッスンPRO

ファイルの読み書き、JSONやXMLの処理、データベースの操作を通して、データを自在に扱う方法を学びます。ユーザー入力の保存、データベースへのクエリ実行、堅牢な例外処理によるエラーへの対応など、データを効果的に管理するための知識を身につけます。

36

クラスとオブジェクト

B13レッスンPRO

フィールド と 自動実装プロパティ を備えたシンプルな型を作成し、 オブジェクト初期化子 を使います。その後、コンストラクター、staticメンバー、カプセル化へ進みます。

37

継承と抽象化

B13レッスンPRO

継承を使って振る舞いを再利用します。 virtual/override/sealed 、 抽象クラス を身につけ、インターフェースによるポリモーフィズムに備えます。

38

構造体、レコード、列挙型

B13レッスンPRO

構造体 (値型)、レコードのような値の等価性という考え方(C# 6のパターン)、名前付き定数に使う 列挙型 を学びます。

39

ミニプロジェクト:Shapeライブラリ

B13レッスンPRO

小さな Shape ライブラリを構築します。 インターフェース で設計し、図形を実装して、 ポリモーフィズム で面積と周長を計算します。

40

例外とリソース安全性

B13レッスンPRO

try/catch/finally で失敗を処理し、いつ throw すべきかを理解し、元のスタックトレースを保つ正しい 再スロー の方法を学びます。

41

Nullable Reference Types

B14レッスンPRO

C# 8以降のNullable Reference Typesを使い、コンパイル時にNullReferenceExceptionsを排除します。アノテーション、フロー分析、移行戦略を学びます。

42

レコードと不変データ

B14レッスンPRO

C#のレコード、init専用プロパティ、with式を使って、不変の値オブジェクトやドメインエンティティをモデル化します。組み込みの等価性セマンティクスについても学びます。

43

構成とOptionsパターン

B14レッスンPRO

.NETの構成管理を使いこなします。appsettings.json、環境変数、シークレット、型安全なOptions、IOptionsSnapshot、バリデーションを学びます。

44

NuGetとパッケージ化

B13レッスンPRO

再利用可能なライブラリを作成し、NuGetパッケージとして公開します。プロジェクトの種類、バージョン管理、パッケージ化の基礎を学びます。

45

診断とロギング

B13レッスンPRO

Debug/Trace と小さなロギング抽象化を使って簡単な診断機能を追加し、出力をコンソール、ファイル、ツールへ振り分けられるようにします。

46

イテレーターと yield return

B24レッスンPRO

イテレーターメソッドと yield キーワードを使って、シーケンスを遅延生成します。

47

演算子のオーバーロード

B24レッスンPRO

演算子と変換をオーバーロードして、独自の型に自然な構文を与えます。

48

IComparable、IEquatable、カスタム等価性

B24レッスンPRO

等価性および比較インターフェースを正しく実装して、独自の型を並べ替えや比較に対応させます。

49

C#のジェネリック制約とメソッド

B24レッスンPRO

ジェネリクスと制約で、再利用可能かつ型安全なコードを書きます。

50

C#のswitch式とパターン

B24レッスンPRO

現代的なパターンマッチングで、表現力豊かに分岐します。

51

LINQによるC#のフィルタリングと射影

B24レッスンPRO

LINQの便利な演算子を使って、メモリ上のデータをクエリします。

52

高度なプログラミング概念

B26レッスンPRO

インターフェース、抽象クラス、デリゲートなど、C#の高度な機能を学んでコーディングスキルをさらに高めます。このカテゴリーでは、読みやすく効率的で、拡張性の高いコードを書く力を伸ばすための発展的なトピックを扱います。コレクションやイベントについても学び、アプリケーション内のデータ…

53

デスクトップアプリケーションの構築

B23レッスンPRO

Windows Formsを使ってインタラクティブなデスクトップアプリケーションを構築し、スキルを実践に生かします。このカテゴリーでは、ユーザーインターフェースの設計、イベント処理、電卓やToDoリストなどの実用的なプロジェクトの作成方法を学びます。最後には、プロフェッショナル…

54

ジェネリクス I

B23レッスンPRO

ジェネリクス で型安全かつ再利用可能なコードを構築します。ジェネリックメソッドとジェネリック型に加え、class、struct、new()、インターフェース境界など基本的な 制約 を扱います。

55

デリゲート、ラムダ、イベント

B23レッスンPRO

デリゲート を使ってメソッドを値として渡し、簡潔な ラムダ を書き、変数の クロージャ を理解します。次に学ぶC#のイベントへの準備にもなります。

56

.NETの依存性注入

B24レッスンPRO

.NETに組み込まれたDIコンテナーを使いこなします。サービスの登録、ライフタイム(Transient、Scoped、Singleton)、コンストラクターインジェクション、クリーンでテストしやすいアーキテクチャのためのファクトリーパターンを学びます。

57

Entity Framework Coreの基礎

B24レッスンPRO

EF Coreを実践的に使い始めます。DbContext、DbSet、マイグレーション、CRUD操作、コードファーストのワークフローにおけるリレーションシップを学びます。

58

ASP.NET Core Minimal API

B24レッスンPRO

.NET 6で導入されたMinimal APIモデルを使い、軽量で高性能なHTTP APIを構築します。ルーティング、バリデーション、ミドルウェア、OpenAPIとの統合を学びます。

59

SignalRによるリアルタイム通信

B24レッスンPRO

SignalRのHub、グループ、バックプレーン、型安全なクライアントを使って、.NETアプリにリアルタイムのプッシュ機能を追加します。

60

Blazorのコンポーネントと状態管理

B24レッスンPRO

BlazorでC#によるインタラクティブなWeb UIを構築します。コンポーネント、データバインディング、イベント処理、依存性注入、状態管理のパターンを学びます。

61

ミドルウェアとリクエストパイプライン

B24レッスンPRO

ASP.NET Coreのミドルウェアを理解し、構築します。リクエスト/レスポンスパイプライン、ショートサーキット、カスタムミドルウェアクラス、適切な順序付けのベストプラクティスを学びます。

62

バックグラウンドサービスとワーカー

B24レッスンPRO

IHostedService、BackgroundService、Worker Services、Quartz.NETを使って、.NETで長時間実行する処理やスケジュール済みジョブを動かします。

63

LINQの基礎

B23レッスンPRO

LINQ の基礎を学びます。 IEnumerable<T> のパイプラインを構築し、 遅延実行 と結果がいつ具体化されるかを理解します。

64

コレクション II

B23レッスンPRO

さらに基本的なコレクションを学びます。 HashSet<T> 、 SortedSet<T> 、 Queue<T> 、 Stack<T> を取り上げ、それぞれの性質(集合、FIFO、LIFO)と使いどころを学びます。

65

ファイルとシリアライズ

B23レッスンPRO

System.IO を使ってパス、ファイル、ストリームを扱います。安全な読み書きのパターンと、存在確認のための簡単なチェックを学びます。

66

ユニットテストの基礎

B23レッスンPRO

C#でテストを始めます。テストの構造、代表的なフレームワーク(MSTest/xUnit)、アサーションによって期待値を成功/失敗に変える方法を理解します。

67

.NETでgRPC

B24レッスンPRO

gRPC、Protobuf、ストリーミング、.NETにおける期限・キャンセルのパターンを使って、型安全で高性能なサービス間通信を構築します。

68

ASP.NET Core の JWT 認証

B24レッスンPRO

JSON Web Token による認証、検証、トークン発行を使って Web API を保護します。

69

認可ポリシーとクレーム

B24レッスンPRO

ASP.NET Core で、ロールベース、クレームベース、ポリシーベースの認可によってアクセスを制御します。

70

API のバージョニングと OpenAPI

B24レッスンPRO

API を適切にバージョン管理し、OpenAPI でインタラクティブなドキュメントを生成します。

71

レート制限と出力キャッシュ

B24レッスンPRO

組み込みのレート制限と出力キャッシュのミドルウェアで、API を保護し高速化します。

72

FluentValidation とモデル検証

B24レッスンPRO

データアノテーションと FluentValidation ライブラリを使って、入力を堅牢に検証します。

73

Polly によるレジリエンス

B24レッスンPRO

Polly を使い、リトライ、サーキットブレーカー、タイムアウトによって障害に強いアプリを構築します。

74

Redis による分散キャッシュ

B24レッスンPRO

Redis を利用した .NET の分散キャッシュで、アプリケーションをスケールさせます。

75

Taskとasync/await

B23レッスンPRO

Task と async/await のメンタルモデルを身につけます。非同期メソッドの戻り値、awaitが継続処理をスケジュールする仕組み、コンパイラーがステートマシンを構築する理由を学びます。ValueTaskについては概念的に触れます。

76

式ツリーの基礎

C14レッスンPRO

式ツリーを使ってコードをデータとして表現し、動的クエリや実行時コンパイルに活用します。

77

C#の高度な機能

C15レッスンPRO

ジェネリック、非同期プログラミング、スレッド、リフレクションに関するレッスンを通して、C#の高度な機能を使いこなします。柔軟で効率的なコードの書き方、並列タスクの管理方法、プログラムの内部動作をさらに深く理解する方法を学び、複雑な実務プロジェクトに対応できる力を身につけます。

78

LINQ応用

C13レッスンPRO

LINQをさらに掘り下げます。 GroupBy 、 Join 、 Aggregate 、 匿名型 を使った明快な射影を扱います。

79

EF Coreの高度なクエリ

C14レッスンPRO

基礎の先へ進みます。Eager/Lazy Loading、Raw SQL、コンパイル済みクエリ、所有エンティティ、本番品質のデータアクセスに役立つグローバルクエリフィルターを学びます。

80

高度な非同期パターン

C14レッスンPRO

基本的なasync/awaitの先へ進みます。IAsyncEnumerable、Channels、ValueTask、ConfigureAwait、スケーラブルな.NETシステム向けの構造化並行性パターンを学びます。

81

Native AOTとパフォーマンス

C14レッスンPRO

AOTを使って.NETアプリケーションをスタンドアロンのネイティブバイナリにコンパイルします。トリミング分析、リフレクションの制限、ReadyToRun、BenchmarkDotNetによるベンチマークを学びます。

82

C#とネイティブコードの相互運用

C14レッスンPRO

P/Invoke、LibraryImport、unsafeコード、固定バッファー、COM相互運用の技術を使って、C#からネイティブライブラリやOS APIを呼び出します。

83

CQRS と MediatR のパターン

C14レッスンPRO

CQRS パターンと MediatR を使って読み取りと書き込みを分離し、ハンドラー間の結合を弱めます。

84

OpenTelemetry とオブザーバビリティ

C14レッスンPRO

OpenTelemetry を使って .NET アプリに分散トレース、メトリクス、構造化ログを組み込みます。

85

MassTransit によるメッセージキュー

C14レッスンPRO

メッセージキューと MassTransit フレームワークを使って、イベント駆動システムを構築します。

86

パターンマッチング詳説

C13レッスンPRO

パターンマッチングの概念を理解し、従来の手法を使ってC# 6で エミュレート する方法を学びます。 is とキャスト、ガード用ヘルパー、小さな述語を扱います。

87

ジェネリクスと制約の応用

C13レッスンPRO

C# 6で利用できるジェネリック 制約 (class/struct/new())を使い、新しいnotnull/unmanagedの考え方を実践的に エミュレート する方法を学びます。

88

Span<T>とメモリ

C13レッスンPRO

メモリに配慮したスライスを理解します。C# 6では ArraySegment<T> 、オフセット、余分なアロケーションを避ける慎重なAPI設計でSpan/ReadOnlySpanをエミュレートします。

89

リフレクションと属性

C13レッスンPRO

リフレクションの基礎を学びます。 Type を取得し、 MethodInfo を見つけ、 Activator でオブジェクトを作成し、 カスタム属性 を読み取ります。すべてC# 6に対応しています。

90

キャンセルとタイムアウト

C13レッスンPRO

CancellationToken を使って協調的にキャンセルします。トークンの受け渡し、IsCancellationRequestedのポーリング、 OperationCanceledException のスロー、ソースの接続方法を学びます。

91

並列処理とデータ処理

C13レッスンPRO

Parallel.ForEach と PLINQ でデータをより高速に処理します。並列度、順序制御、副作用への安全な対処を学びます。

92

スクリプティングと相互運用

C13レッスンPRO

C#スクリプティングでアイデアをすばやく試します。dotnet script、REPL/スニペット、完全なプロジェクトを作らずに書ける簡単な連携コードを扱います。

93

ソースジェネレーター(入門)

C22レッスンPRO

C#のソースジェネレーターとは何か、なぜ役立つのかを理解し、属性、partialクラス、シンプルなコードテンプレートを使ってC# 6でその考え方をエミュレートする方法を学びます。

よくある質問

よくある質問

C# Academyコースは無料ですか?

はい。C# Academyコースは無料で始められ、インタラクティブレッスンをすべて無料で完了できます。オプションのPRO登録で、高度なAIツールと共有可能な認定資格がアンロックされます。

C_SHARPを学ぶのに事前経験は必要ですか?

いいえ。コースは基礎から始まり、より高度なトピックへと進むので、C_SHARPの事前経験がなくても始められます。

CoddyKitでC_SHARPをどのように学びますか?

実践しながら学びます。短いインタラクティブレッスンは、わかりやすい説明と、リアルタイムで実行される実践的なコード演習が組み合わさっており、24時間対応のAIチューターがわからないときにいつでもサポートします。

C# Academyを完了すると認定資格がもらえますか?

はい。PRO学習者は試験を受けて、C# Academyコースの完了を証明する共有可能な認定資格を取得できます(認証コード付き)。

スマートフォンでC_SHARPを学べますか?

はい。CoddyKitはウェブとネイティブiOS・Androidアプリで利用でき、どのデバイスでもC_SHARPを学習でき、進捗がすべてのデバイスで同期されます。

C# Academyを今すぐ始める

AI搭載レッスンでプログラミングをマスターする数千人の学習者に参加しましょう。

無料で始める →すべてのコースを見る