Day 1 のゴールと全体イメージ
この Day 1 では、「C#とは何か」「何ができるのか」「どうやって動かすのか」を、 プログラミング初心者向けに一歩ずつ丁寧に整理していきます。
いきなり難しいコードを書くのではなく、 まずは「言語としての C#」「その土台である .NET」「作れるアプリの種類」「プロジェクトやソリューションの意味」 そして「コンソールアプリを実際に動かしてみる」という流れで、 C#の世界に自然に入っていけるように構成しています。
C#とは何か
C#は「マイクロソフトが作ったモダンなプログラミング言語」です
C#(シーシャープ)は、マイクロソフトが開発したプログラミング言語です。 読み方は「シーシャープ」で、音楽記号の「♯」から来ています。
C#は次のような特徴を持つ言語です。
オブジェクト指向言語である 型がしっかりしていて安全性が高い Windows だけでなく、Linux や macOS、スマホ、Web など幅広く動かせる ゲーム開発から業務システムまで、用途が非常に広い
初心者にとって重要なのは、 「C#はプロの現場でも使われている本格的な言語だが、学びやすい設計になっている」 という点です。
.NETとは何か
.NETは「C#が動くための土台(プラットフォーム)」です
C#の話をするときに必ず出てくるのが .NET(ドットネット) です。 .NET は「C#などの言語で書かれたプログラムを動かすための仕組みの集合」です。
イメージとしては、
C# → 言語 .NET → 言語が乗る土台・エンジン
という関係です。
C#で書いたコードは、最終的に .NET のランタイム(実行環境)によって動きます。 このおかげで、同じ C# のコードが Windows でも Linux でも動かせるようになっています。
C#でできること
C#は「何でも屋」に近い言語です
C#でできることは非常に多く、代表的なものだけでも次のようなものがあります。
コンソールアプリ(黒い画面のテキストベースアプリ) Webアプリ(ブラウザで動くアプリ) デスクトップアプリ(Windows のウィンドウアプリ) ゲーム開発(Unity など)
ここでは、それぞれを初心者向けにイメージしやすく説明していきます。
コンソールアプリとは
一番シンプルな「文字だけのアプリ」です
コンソールアプリは、黒い画面(または白い画面)に文字だけが表示されるタイプのアプリです。 最初に学ぶには最適で、
「入力を受け取る」 「計算する」 「結果を表示する」
というプログラムの基本的な流れを理解するのに向いています。
C#の入門では、まずこのコンソールアプリから始めることがほとんどです。
Webアプリとは
ブラウザで動くアプリを C#で作ることができます
C#は ASP.NET などのフレームワークを使うことで、 Webブラウザで動くアプリケーションを作ることができます。
ログイン画面 商品一覧 注文フォーム
といった、いわゆる「Webサービス」を C#で構築できます。
Day 1 の段階ではコードまでは踏み込みませんが、 「C#はWebも作れる」というイメージを持っておくと、 学ぶモチベーションが上がりやすくなります。
デスクトップアプリとは
Windows のウィンドウアプリも C#の得意分野です
C#は、Windows のデスクトップアプリ(ウィンドウが開くタイプのアプリ)を作ることも得意です。
ボタン テキストボックス リスト表示
などを持つ GUI(グラフィカルユーザーインターフェース)アプリを、 WPF や WinForms といった技術を使って作ることができます。
業務システムや社内ツールなどで、今も多く使われている分野です。
ゲーム開発とは
Unity と組み合わせることで本格的なゲームが作れます
C#はゲーム開発の世界でも非常に有名です。 特に Unity というゲームエンジンでは、 スクリプト言語として C#が採用されています。
2Dゲーム 3Dゲーム スマホゲーム VRゲーム
など、多くのタイトルが C#で書かれています。
「いつかゲームを作りたい」という方にとって、 C#はとても魅力的な選択肢になります。
プロジェクトとは
プロジェクトは「アプリのひとまとまり」です
C#でアプリを作るときは、 開発環境(Visual Studio や Visual Studio Code など)で プロジェクト を作成します。
プロジェクトとは、
ソースコードファイル 設定ファイル 依存ライブラリ
などをひとまとめにした「アプリの単位」です。
例えば「メモ帳アプリ」を作るときは、 メモ帳アプリ用のプロジェクトを1つ作る、というイメージです。
ソリューションとは
ソリューションは「プロジェクトをまとめる入れ物」です
ソリューションは、複数のプロジェクトをまとめるための単位です。
例えば、
Webアプリ本体のプロジェクト API用のプロジェクト テスト用のプロジェクト
などを1つのソリューションにまとめて管理できます。
初心者の段階では、 「ソリューションの中にプロジェクトが入っている」 というイメージだけ持っておけば十分です。
プログラムの実行方法(コンソールアプリ編)
まずは「Hello, World」を動かしてみる
ここからは、実際に C#のコンソールアプリを動かすイメージを持てるように、 基本的なコード例を紹介します。
以下は、最も有名な「Hello, World」を表示する C#のコンソールアプリです。
// C# のコンソールアプリの基本テンプレート
using System; // Console クラスなどを使うための宣言
class Program // プログラムのメインクラス
{
// プログラムの入口となるメソッド
static void Main(string[] args)
{
// 画面に文字を表示する
Console.WriteLine("Hello, World!");
// Enterキーを押すまで待つ(画面がすぐ閉じないようにするため)
Console.ReadLine();
}
}
C#このコードをコンソールアプリとして実行すると、 画面に Hello, World! と表示されます。
コードの重要ポイントを深掘りする
using System; とは何か
using System; は、 C#の標準ライブラリの中でも基本的な機能をまとめた System 名前空間 を使うための宣言です。
Console クラスは System 名前空間の中にあるため、 これを書いておくことで Console.WriteLine が使えるようになります。
初心者のうちは「おまじない」として覚えておいて構いませんが、 「ライブラリを使うための宣言」という意識を持っておくと、 後々理解が深まりやすくなります。
class Program とは何か
class Program は、 C#の「クラス」という仕組みを使って、 プログラムのまとまりを表現している部分です。
ここでは、
Program という名前のクラスの中に Main というメソッド(関数)がある
という構造になっています。
Day 1 の段階では、 「クラスの中に Main がある」というイメージだけで十分です。
static void Main(string[] args) とは何か
Main メソッドは、 C#のコンソールアプリにおける「プログラムの入口」です。
プログラムを実行すると、 必ずこの Main メソッドから処理が始まります。
static void Main(string[] args) の意味を分解すると、
static → クラスから直接呼び出されるメソッド void → 戻り値がない(何も返さない) Main → メソッド名(入口として特別扱いされる) string[] args → コマンドライン引数(今回は気にしなくてよい)
となります。
初心者のうちは、 「Main はプログラムのスタート地点」 と覚えておけば十分です。
Console.WriteLine とは何か
Console.WriteLine("Hello, World!"); は、 コンソール画面に文字を表示するための命令です。
Console → コンソール画面を扱うクラス WriteLine → 1行分の文字を表示するメソッド
という関係になっています。
この1行があるだけで、 「プログラムが何かをユーザーに伝える」ことができます。
Console.ReadLine とは何か
Console.ReadLine(); は、 ユーザーが Enterキーを押すまで待つための命令です。
コンソールアプリは、 実行後すぐに終了して画面が閉じてしまうことがあるため、 この1行を入れておくことで、 表示内容を確認する時間を確保できます。
また、ユーザーから文字入力を受け取るときにも使われます。
まとめ:Day 1 で押さえておきたいこと
Day 1 では、次のポイントをステップバイステップで確認しました。
C#とは何か → マイクロソフトが作ったモダンな言語 .NETとは何か → C#が動くための土台 C#でできること → コンソール、Web、デスクトップ、ゲームなど幅広い コンソールアプリ → 最初に学ぶシンプルなテキストアプリ プロジェクト → アプリのひとまとまり ソリューション → プロジェクトをまとめる入れ物 プログラムの実行方法 → Main から始まり、Console.WriteLine で表示する
ここまで理解できていれば、 「C#の世界に入る準備」は十分整っています。

