C#を学ぶ: .NET プログラミングアプリのアイコン

C#を学ぶ: .NET プログラミング

教育 · 無料 · iOS & Android · CoddyKit

C#を学ぶ: .NET プログラミング — オンラインコンパイラーを備えたC#プログラミングコース。Console.WriteLineからAPIまで

C#を学ぶ: .NET プログラミングは、初心者、学生、現役の開発者向けの無料のiOSおよびAndroid C#プログラミングコースです。93コースで、最初のConsole.WriteLineからLINQ、Entity Framework Core、ASP.NET Core minimal APIsまで、C#を学べます。内蔵エディターでコードを書き、インストール不要のオンラインC#コンパイラーで実行し、コンパイラーエラーについてAI Mentorに質問できます。

App Store — 無料でダウンロードGoogle Play — 無料でダウンロード
料金
無料、Proは任意
プラットフォーム
iOSおよびAndroid
言語
22
年齢レーティング
4+
App Store
4.1 ★ (9)
Learn C#アプリのコーディングチャレンジ画面利用できるC#コースとトピックを表示するコース一覧画面
93コース、A1からC2まで
コンパイラー内蔵エディターでC#を実行
ラボC#ラボ
Console.WriteLineから、実際のリクエストに応答するminimal APIまで。

これがカリキュラムの実際の範囲です。1つの長い初心者向けコースではなく93コースで構成されているため、最初のプログラムから動作するASP.NET Coreエンドポイントまでの道のりを、順序立てられた、1つずつ修了できるステップで学べます。

概要

C#を学ぶ: .NET プログラミングは、iOSおよびAndroid向けの無料教育アプリです。C#プログラミングと.NETエコシステムを、最初のプログラムからオブジェクト指向設計、ジェネリック、LINQ、ASP.NET CoreとEntity Framework Coreを使ったWeb APIの構築までカバーする、93コース、340+レッスンのカリキュラムを提供します。内蔵C#エディターでコードを書き、アプリのオンラインC#コンパイラーで実行できます。インストールが必要なIDEやSDKはなく、AI Mentorがコンパイラーエラーや.NET固有の概念を平易な英語で説明します。

アプリの内容

画面イメージ

Learn C#アプリのコーディングチャレンジ画面
チャレンジ93コースのカリキュラムとは別に用意されたコーディングチャレンジです。
利用できるC#コースとトピックを表示するコース一覧画面
コース最初の構文からASP.NET Core APIs、Entity Framework Coreまでを扱う、93コースの一覧です。
アプリ内でC#コードを表示するコードエディター画面
エディター内蔵エディターでC#を書き、オンラインコンパイラーで実行できます。LINQクエリやジェネリックメソッドも、実際の結果を返します。
進捗状況と次に学ぶ場所を表示するホーム画面
ホームカリキュラムの続きから学習を再開できます。連続学習記録が、コースを進めるモチベーションを保ちます。
短いC#解説と、その下に練習問題を表示するレッスン画面
レッスン各レッスンでC#または.NETの概念を1つずつ学び、そのモジュールのコースへとつなげていきます。

コース

C#カリキュラムの内容

アプリ独自のカリキュラムによる、レベルA1からC2までの93コース。最初のプログラムからASP.NET Core API、Entity Framework Core、分散キャッシュまで学べます。

  1. 最初のプログラムと基本構文

    2部構成のC#プログラミング入門、CLR/.NETランタイムとdotnet CLI、そして基本的な型と変数を扱います。後続のすべてのコースが前提とするセットアップを、ここで整えます。

  2. 演算子、制御フロー、日常的なデータ

    演算子と式、varとdynamicによる型推論、文字列のフォーマットと補間、enum、配列、foreachの反復パターン、メソッドとパラメーター、コード整理のための名前空間を学びます。

  3. クラス、オブジェクト、基本的なOOP

    プロパティとインデクサー、コンストラクターとオブジェクト初期化子、タプルと分解、コレクション(List、Dictionary、HashSet)、オブジェクト指向プログラミングの基礎、継承と抽象化、そしてミニ図形ライブラリプロジェクトを通じてstruct、record、enumを学びます。

  4. 現代的なC#、エラー処理、アプリ設定

    nullable参照型、recordと不変データ、例外とリソースの安全性、構成とoptionsパターン、NuGetパッケージング、実際のアプリケーションの診断とロギングを扱います。

  5. ジェネリック、LINQ、.NETの基礎

    ジェネリック制約とメソッド、switch式とパターンマッチング、LINQの基礎とフィルタリング、デリゲート、ラムダ、イベント、依存性注入、Entity Framework Coreの基礎、単体テストの基本を学びます。

  6. ASP.NET CoreでWeb APIを構築

    ASP.NET Core minimal APIs、ミドルウェアとリクエストパイプライン、バックグラウンドサービスとワーカー、リアルタイム通信のためのSignalR、Blazorコンポーネント、gRPC、JWT認証と認可ポリシー、OpenAPIによるAPIバージョニングを扱います。

  7. 本番環境のパターン:キャッシュ、レジリエンス、バリデーション

    レート制限と出力キャッシュ、FluentValidationとモデルバリデーション、Pollyによるレジリエンス、Redisによる分散キャッシュを学びます。動作するAPIと、実際のトラフィックに耐えられるAPIの間にある層です。

  8. 高度なC#とプロフェッショナル向け.NETパターン

    式ツリー、高度なLINQとEF Coreクエリ、高度なasyncパターン、Native AOT、MediatRによるCQRS、OpenTelemetryによる可観測性、MassTransitによるメッセージキュー、Span<T>とメモリ、リフレクションと属性、ソースジェネレーターを扱います。

使い方

C#カリキュラムの順序

93コースを、言語をその上に構築されるフレームワークより先に学ぶ順序で配置しています。Entity Framework Coreの前にLINQ、ASP.NET Coreの前にasync/awaitを学びます。

  1. フレームワークの前に言語を修了

    カリキュラムの最初の3分の1は、型、制御フロー、クラス、ジェネリック、LINQなど、C#そのものを扱います。ASP.NET CoreやUnityはまだ登場しません。この順序は意図的なものです。フレームワークのチュートリアルを難しく感じる理由の多くは、実はその土台にある言語に慣れていないことだからです。

  2. 内蔵エディターですべての演習を実行

    各コースの演習は内蔵C#エディターで記述し、アプリのオンラインコンパイラーで実行します。そのため接続は必要ですが、インストールするものはありません。ジェネリック制約やLINQクエリは、実行されて正しい出力を返すか、実際のコンパイラーエラーまたはランタイムエラーを発生させるため、それを解決しながら学べます。

  3. 基礎が身についたら、API、デスクトップ、Unityへ分岐

    中盤を過ぎると、カリキュラムはASP.NET Core Web API、デスクトップアプリケーション、Unityのスクリプティングが依存するOOPの基礎へと分かれます。次に受講するコースは、実際に構築したいものに合わせて、この3つの方向から選べます。

内容

アプリに含まれる内容

93

コース、A1からC2まで

93コース、340+の短いレッスンで、最初のConsole.WriteLineからジェネリックとLINQ、ASP.NET Core API、Entity Framework Core、レジリエンスや分散キャッシュなどの本番環境向けパターンまで学べます。

コンパイラー

内蔵エディターでC#を実行

内蔵エディターでコードを書き、アプリのオンラインC#コンパイラーで実行できます。インストールが必要なIDEやSDKはなく、LINQクエリやジェネリックメソッドも、選択肢から当てずっぽうに答えるのではなく、実際の結果を返します。

ラボ

C#ラボ

隠しテスト付きの20個のカタ、Console.ReadLineで入力を読み取るConsoleラボ、LINQ Playground、毎日のDebug Duel、ジェネリクス・LINQ・asyncに関する採点付き模擬問題に挑戦できるInterview Simulator、さらに20個のガイド付きプロジェクトを用意しています。

AI

.NETの概念を学べるAI Mentor

分かりにくいコンパイラーエラー、nullable referenceの警告、または依存性注入でサービスがそのように解決される理由について質問すると、平易な英語で回答が得られます。

API

Web APIカリキュラム

ASP.NET Core minimal APIs、middleware、JWT認証、rate limiting、Redis cachingに特化したコースを用意しています。C#初心者向け教材の多くが省略している、バックエンド部分まで学べます。

認定

チャレンジと修了証

順序立てられたカリキュラムとは別に、他の学習者と競い合うコーディングチャレンジに挑戦できます。最終試験の後には認証コード付きの修了証が発行されます。各コースの最後には、クイズとコーディングチャレンジもあります。

背景

「Microsoftの言語」というだけでなく、C#は実際には何を作るために使われているのでしょうか?

C#は、Microsoftのランタイムおよび標準ライブラリである.NET上で動作する、静的型付けのコンパイル言語です。実際には、まったく異なる3種類の開発に対応しています。Unityでは、多くの商用ゲームでスクリプト言語としてC#が使われています。ASP.NET Core on .NETでは、多くの本番システムを支えるWeb APIやバックエンドサービスを構築できます。また、WPF、WinForms、MAUIでは、デスクトップアプリやクロスプラットフォームアプリを開発できます。1つの言語に3つの方向性があるため、C#のカリキュラムは1つの初心者向けコースにとどまらず、いずれ分岐する必要があります。

.NETとC#言語とプラットフォーム

C#は記述する構文であり、.NETはコンパイルされた結果を実行するランタイムと、コレクション、ファイルアクセス、日付処理などを含む標準ライブラリです。実際にC#をうまく書くには、サードパーティ製パッケージに手を伸ばす前に、.NETがすでに提供しているものを知っておく必要があります。

LINQループを使わないクエリ

Language Integrated Queryを使うと、手書きのforループではなく、読みやすい式でコレクションのフィルタリング、射影、形状変更を行えます。使用するのは.Where()、.Select()、.GroupBy()などです。これは、同等の機能を持たない言語を使うときに、C#開発者が最も恋しく感じる機能です。

Entity Framework Coreデータベース層

C#コードから、手書きのSQL文字列ではなく通常のオブジェクトとしてデータベースの行を読み書きできる、オブジェクトリレーショナルマッパーです。.NETバックエンドがデータベースと通信する標準的な方法であり、言語の基礎を身につけた後に専用コースで学べます。

async/awaitとTasksスレッドをブロックしない

C#のasync/awaitを使うと、データベース呼び出しやWebリクエストなどの時間がかかる処理を、実行中のスレッドをブロックせずにメソッドで待機できます。ほぼすべてのASP.NET Core APIと最新のデスクトップアプリがこのパターンに依存しているため、Webフレームワークの内容に進む前に専用コースで学びます。

適しています

向いている方・向いていない方

次のような方におすすめです

  • C#と.NETの3つの方向性、Unity、デスクトップ、ASP.NET Core APIsを、分断された3つのチュートリアルではなく、1つのカリキュラムで学びたい方
  • Unityを目指していて、エンジンを開く前に言語とOOPの基礎をしっかり身につけたい方
  • 実際のバックエンドを構築または理解する必要がある方。ASP.NET Core minimal APIs、Entity Framework Core、JWT認証をすべて専用コースで学べます。
  • コンピューターサイエンスの学生やブートキャンプの受講者で、LINQ、ジェネリクス、async/awaitをスライドだけでなく、実際に動かす演習を通して学びたい方
  • Java、Python、JavaScriptから来た方で、一般的なプログラミングの復習ではなく、C#の構文と.NET特有のイディオムを学びたい方

次のような方には適していません

  • Unityそのものを教えてほしい方。このアプリでは、Unityのスクリプティングに必要なC#とOOPの基礎を扱いますが、エンジンのエディターやシーンシステムは扱いません。
  • 93コースすべてを無料で利用したい方。最初のコースは無料で、Proにすると残りのコースがすべて解放され、広告もなくなります。
  • 今すぐVisual Studioや完全な.NET SDKプロジェクトが必要な方。アプリ内エディターではオンラインコンパイラーを使って演習を実行できますが、データベースに接続した実際のASP.NET Coreプロジェクトには、やはりコンピューターが必要です。
  • 完全なオフラインアプリを求めている方。コードの実行にもAI Mentorにも、ライブ接続が必要です。

ご質問

よくある質問

スマートフォンでC#と.NETを学ぶのに最適なアプリは?

スマートフォン向けのC#教材の多くが埋められていないのは、言語の基礎と、その上に構築されたフレームワーク、つまりLINQ、Entity Framework Core、ASP.NET Coreの間にあるギャップです。C#を学ぶ: .NET プログラミングでは、両方を順番に学べる93コースを提供しています。内蔵エディターからオンラインC#コンパイラーで演習を実行でき、コンパイラーエラーや.NET特有の質問にはAI Mentorが答えます。iOSとAndroidで無料で始められ、22言語に対応しています。

スマートフォンで本格的なC#を学べますか?それともVisual Studioが必要ですか?

言語そのものについては学べます。型、制御フロー、クラス、ジェネリクス、LINQ、async/awaitまで対応しています。アプリの内蔵エディターでコードを書き、オンラインC#コンパイラーで実行するため、IDEやSDKをインストールせずに実際のC#を書いて動かせます。複数ファイルで構成され、実際のデータベースに接続するASP.NET Coreプロジェクトを構築する段階になると、Visual Studioまたは完全な.NET SDKが必要になります。これは、アプリの演習より先の段階です。

C#を学ぶ: .NET プログラミングはオフラインで使えますか?

完全には使えません。アプリはオンラインC#コンパイラーでコードを実行し、AI Mentorもライブで回答するため、どちらにも接続が必要です。レッスンはすばやく読み込まれ、不安定な接続でも使い続けられるよう設計されていますが、スマートフォン本体にインストールして使うものはありません。

Unityを使う前にC#を学ぶ必要がありますか?このアプリではUnityそのものも学べますか?

UnityのスクリプティングはC#で書かれているため、クラス、継承、オブジェクト指向設計に費やした時間は、エンジンを開いた後にそのまま役立ちます。このアプリでは、コアモジュールでC#とOOPの基礎を扱います。ただし、Unityのエディター、シーンシステム、コンポーネントモデルは教えません。これらはエンジン独自のチュートリアルであり、その土台となるC#に慣れていれば、より簡単に読み進められます。

C#と.NETの具体的な違いは何ですか?

C#は書いてコンパイルする構文で、.NETはそれを実行するランタイムと標準ライブラリです。コレクション、ファイルアクセス、日付の処理など、自分で書かないさまざまな機能を提供します。たとえばlist.Where(x => x > 5)というメソッド呼び出しはC#の構文(ラムダ)であり、.NETが提供するLINQ機能に対して実行されます。基礎を終えると、カリキュラムではこの2つを一緒に学びます。実践的なイディオマティックC#には、.NETがすでに提供しているものを知ることが欠かせないからです。

LINQは実際に何をするものですか?なぜ専用コースがあるのですか?

LINQ(Language Integrated Query)は、同等のforループを手作業で書く代わりに、.Where()、.Select()、.GroupBy()などの式でコレクションをフィルタリング、並べ替え、変形できる機能です。基礎を終えると、コンソールアプリでのリストの検索、ビュー用のデータ整形、Entity Framework CoreがSQLに変換するクエリの構築など、さまざまな場面で頻繁に登場します。LINQのメソッドシグネチャはジェネリクスの理解を前提とするため、ジェネリクスをしっかり学んだ後にこのコースが登場します。

C#の基礎からWeb APIの構築へは、どのように進みますか?

このカリキュラムでは、まず依存性注入とEntity Framework Coreの基礎を学び、その後ASP.NET Core minimal APIs、middlewareパイプライン、JWT認証と認可ポリシーへ進みます。最後にrate limiting、FluentValidation、Redis cachingなど、本番環境で必要となる内容を扱います。言語とLINQの基礎がないままAPIコースへ進むと、ASP.NET Coreのチュートリアルが、実際のAPIそのものより難しく感じられてしまいます。

C#を学ぶ: .NET プログラミングは無料ですか?

アプリはApp StoreとGoogle Playから無料でダウンロードできます。最初のコース、毎日のカタ、毎日のDebug Duelは無料で、AI Mentorには1日1回質問できます。Proではすべてのコース、すべてのラボ、すべてのミッションが解放され、広告がなくなり、AI Mentorの1日あたりの利用制限もなくなります。決める前にカリキュラムとエディターを試せます。

アプリはどのプラットフォームと言語に対応していますか?

C#を学ぶ: .NET プログラミングはApp Storeを通じてiOSで、Google Playを通じてAndroidで利用でき、インターフェースは22言語に対応しています。対象年齢は4+で、コースの最終試験後には修了証が発行されます。これは学習した成果の証明として役立つものであり、認定された.NET資格ではありません。

2026年でもC#は最初に学ぶ言語として適していますか?

幅広い用途に使える言語を選ぶという点では、適しています。1つの構文でUnityのゲームスクリプティング、ASP.NET Coreのバックエンド、MAUIを使ったクロスプラットフォームのデスクトップアプリに対応でき、強い型付けによって、プログラムを実行する前にある種のミスを検出できます。ただし、あなたにとって最初の言語として適しているかは、3つの方向性のどれを実際に目指したいかによります。このカリキュラムは、最初の3分の1を汎用的な内容にし、その選択が重要になる段階でのみ分岐できるように設計されています。

始める

今日から最初のC#プログラムを書きましょう

93コース、A1からC2まで。iOSとAndroidで無料で始められ、22言語に対応しています。

App Store — 無料でダウンロードGoogle Play — 無料でダウンロード
最終確認日 · CoddyKitが公開 · プライバシーポリシー
iOS および Androidで利用できます。