C# コンソールアプリケーションの作り方を初心者向けに解説!Visual Studioでの作成手順とサンプルコード

はじめに

C#でプログラミングを始めるなら、最初におすすめなのが「コンソールアプリケーション」です。コンソールアプリケーションは、文字を表示したり、キーボードから入力を受け取ったりしながら、C#の基本文法を学べるシンプルなアプリケーションです。

C#には、Windowsアプリ、Webアプリ、ゲーム開発、スマートフォンアプリなどさまざまな用途があります。しかし、初心者がいきなり画面付きのアプリやWebアプリを作ろうとすると、C#以外にも覚えることが多く、途中でつまずきやすくなります。

その点、C# コンソールアプリケーションであれば、Visual Studioを使って簡単に作成でき、プログラムの基本である「表示」「入力」「変数」「条件分岐」「繰り返し処理」などを効率よく学べます。

この記事では、C# コンソールアプリケーションの作り方を初心者向けにわかりやすく解説します。Visual Studioでの作成手順から、基本構成、サンプルコード、よくあるエラーの対処法まで順番に紹介します。

1. C# コンソールアプリケーションとは?

C# コンソールアプリケーションとは、コンソール画面上で動作するC#のアプリケーションです。コンソール画面とは、黒い背景に文字が表示されるシンプルな画面のことで、Windowsでは「コマンドプロンプト」や「Windows Terminal」などが該当します。

たとえば、次のような処理を行うアプリケーションを作れます。

C#
Console.WriteLine("こんにちは、C#の世界へようこそ!");

このコードを実行すると、コンソール画面に文字が表示されます。とてもシンプルですが、C#の学習ではこのような基本的なプログラムから始めることが重要です。

1-1. コンソールアプリケーションの特徴

コンソールアプリケーションの大きな特徴は、画面構成がシンプルであることです。ボタンや画像、入力フォームなどの複雑な画面部品を使わず、文字だけで処理結果を確認できます。

そのため、C#の文法やプログラムの流れに集中しやすいというメリットがあります。

主な特徴は次のとおりです。

・文字ベースで動作する
・作成が簡単で初心者向き
・C#の基本文法を学びやすい
・処理結果をすぐに確認できる
・業務用の自動処理ツールにも応用できる

コンソールアプリケーションは学習用だけでなく、ファイルの整理、データ変換、定期処理、ログ出力など、実務でも使われることがあります。

1-2. WindowsアプリやWebアプリとの違い

C#では、コンソールアプリケーション以外にもさまざまな種類のアプリケーションを作成できます。代表的なものに、WindowsアプリやWebアプリがあります。

Windowsアプリは、ボタンやテキストボックスなどを備えた画面付きのアプリケーションです。ユーザーがマウスやキーボードで操作する一般的なデスクトップアプリがこれにあたります。

Webアプリは、ブラウザ上で動作するアプリケーションです。ログイン画面、問い合わせフォーム、管理画面、予約システムなどが代表例です。

一方、コンソールアプリケーションは、基本的に文字の入力と出力だけで動作します。見た目はシンプルですが、プログラムの基本構造を理解するには最適です。

初心者のうちは、まずC# コンソールアプリケーションで文法を学び、その後にWindowsアプリやWebアプリへ進むと理解しやすくなります。

1-3. 初心者が最初に学ぶべき理由

初心者がC#を学ぶとき、最初にコンソールアプリケーションを作るべき理由は、プログラムの基礎を無理なく理解できるからです。

画面付きアプリを作る場合、C#の文法だけでなく、画面デザイン、イベント処理、プロジェクト構成なども学ぶ必要があります。Webアプリの場合は、HTML、CSS、データベース、サーバー処理なども関係してきます。

しかし、コンソールアプリケーションなら、まずC#の基本に集中できます。

たとえば、次のような内容を順番に学べます。

・文字を表示する
・キーボード入力を受け取る
・変数に値を入れる
・if文で条件分岐する
・for文で繰り返し処理を行う
・メソッドを使って処理を分ける

これらは、WindowsアプリやWebアプリを作るときにも必ず使う知識です。つまり、C# コンソールアプリケーションは、C#学習の土台になる重要なステップです。

2. C# コンソールアプリケーション作成に必要な準備

C# コンソールアプリケーションを作成するには、開発環境を準備する必要があります。初心者におすすめなのは、Microsoftが提供しているVisual Studioを使う方法です。

Visual Studioをインストールすれば、C#のコードを書く、実行する、エラーを確認する、デバッグする、といった作業をまとめて行えます。

2-1. Visual Studioとは?

Visual Studioとは、Microsoftが提供している統合開発環境です。統合開発環境は「IDE」とも呼ばれ、プログラムを作成するために必要な機能がまとまったソフトウェアです。

Visual Studioには、次のような機能があります。

・C#のコードを書くエディター
・コードの入力補完
・エラーの自動チェック
・プログラムの実行
・デバッグ機能
・プロジェクト管理
・テンプレートによるアプリ作成

初心者にとって特に便利なのは、入力補完とエラー表示です。C#のコードを書いている途中で候補を表示してくれたり、間違っている部分に赤い波線を表示してくれたりします。

そのため、C# コンソールアプリケーションを初めて作る場合でも、効率よく学習を進められます。

2-2. Visual Studioのインストール手順

Visual Studioは、Microsoftの公式サイトからダウンロードできます。個人学習や小規模開発であれば、無料で利用できるVisual Studio Communityを選ぶのが一般的です。

基本的なインストール手順は次のとおりです。

  1. Visual Studioの公式サイトにアクセスする

  2. Visual Studio Communityをダウンロードする

  3. ダウンロードしたインストーラーを起動する

  4. 必要なワークロードを選択する

  5. インストールを開始する

  6. インストール完了後、Visual Studioを起動する

インストールには時間がかかる場合があります。途中でワークロードを選択する画面が表示されるため、C# コンソールアプリケーションを作成するために必要な項目を選びましょう。

2-3. 必要なワークロードの選び方

Visual Studioのインストール時には、「ワークロード」を選択します。ワークロードとは、開発したいアプリの種類に応じて必要な機能をまとめたものです。

C# コンソールアプリケーションを作成する場合は、基本的に「.NET デスクトップ開発」を選択します。

このワークロードを選ぶことで、C#や.NETを使ったデスクトップアプリケーション、コンソールアプリケーションの開発に必要な環境がインストールされます。

初心者の場合、最初から多くのワークロードを選ぶ必要はありません。まずは「.NET デスクトップ開発」を選択して、C# コンソールアプリケーションを作れる状態にしましょう。

あとから必要になった場合は、Visual Studio Installerを使ってワークロードを追加できます。

2-4. .NET SDKの確認方法

C# コンソールアプリケーションを作成するには、.NET SDKが必要です。.NET SDKとは、C#のプログラムを作成・ビルド・実行するための開発キットです。

Visual Studioで必要なワークロードを選択してインストールすれば、通常は.NET SDKも一緒にインストールされます。

確認したい場合は、コマンドプロンプトやターミナルを開き、次のコマンドを入力します。

Bash
dotnet --version

バージョン番号が表示されれば、.NET SDKがインストールされています。

たとえば、次のように表示されます。

Bash
8.0.100

表示されない場合やエラーになる場合は、.NET SDKがインストールされていない、またはパスが正しく設定されていない可能性があります。その場合は、Visual Studio Installerから必要なワークロードを確認しましょう。

3. Visual StudioでC# コンソールアプリケーションを作成する手順

ここからは、Visual Studioを使ってC# コンソールアプリケーションを作成する手順を解説します。

Visual Studioにはテンプレートが用意されているため、初心者でも数ステップでプロジェクトを作成できます。

3-1. 新しいプロジェクトを作成する

まず、Visual Studioを起動します。起動すると、スタート画面が表示されます。

そこから「新しいプロジェクトの作成」をクリックします。

すでにVisual Studioを開いている場合は、上部メニューから次の操作でも作成できます。

ファイル → 新規作成 → プロジェクト

新しいプロジェクトを作成する画面では、アプリケーションの種類を選択できます。

3-2. テンプレートから「コンソールアプリ」を選択する

テンプレートの検索欄に「コンソール」と入力します。すると、「コンソール アプリ」または「Console App」というテンプレートが表示されます。

言語がC#になっていることを確認してから、コンソールアプリのテンプレートを選択します。

似た名前のテンプレートが複数表示される場合がありますが、初心者は「C#」「コンソール アプリ」「.NET」と表示されているものを選ぶとよいでしょう。

テンプレートを選択したら、「次へ」をクリックします。

3-3. プロジェクト名と保存場所を設定する

次に、プロジェクト名と保存場所を設定します。

プロジェクト名は、作成するアプリケーションの名前です。初心者の場合は、次のようなわかりやすい名前にするとよいでしょう。

HelloConsoleApp

保存場所は、自分が管理しやすいフォルダーを選びます。たとえば、ドキュメントフォルダー内に「CSharpProjects」というフォルダーを作っておくと、学習用プロジェクトを整理しやすくなります。

ソリューション名は、基本的にはプロジェクト名と同じで問題ありません。

設定が完了したら、「次へ」をクリックします。

3-4. .NETのバージョンを選択する

次の画面では、使用する.NETのバージョンを選択します。

初心者の場合は、Visual Studioが推奨しているバージョン、または長期サポート版を選ぶと安心です。学習目的であれば、基本的には初期選択のままで問題ありません。

.NETのバージョンによって、使える機能やプロジェクトの初期コードが少し異なる場合があります。たとえば、新しいバージョンのC#では「トップレベルステートメント」という簡潔な書き方が使われます。

設定が終わったら、「作成」をクリックします。

3-5. プロジェクト作成後の画面構成を確認する

プロジェクトが作成されると、Visual Studioの編集画面が表示されます。

主に確認する場所は次のとおりです。

・コードエディター
・ソリューション エクスプローラー
・エラー一覧
・出力ウィンドウ
・実行ボタン

コードエディターには、C#のコードを書くファイルが表示されます。コンソールアプリケーションでは、通常「Program.cs」というファイルが最初に開かれます。

ソリューション エクスプローラーでは、プロジェクト内のファイル構成を確認できます。C#の学習を進めるうえで、Program.csがどこにあるかを確認しておきましょう。

4. C# コンソールアプリケーションの基本構成

C# コンソールアプリケーションを作成すると、最初からいくつかのコードが用意されています。ここでは、基本構成を理解していきましょう。

4-1. Program.csとは?

Program.csは、C# コンソールアプリケーションで最初に用意されるメインのソースコードファイルです。

ソースコードファイルとは、プログラムの命令を書くファイルのことです。拡張子は「.cs」で、C#のコードが書かれています。

Visual Studioでコンソールアプリを作成すると、Program.csには最初からサンプルコードが記述されていることがあります。

たとえば、次のようなコードです。

C#
Console.WriteLine("Hello, World!");

この1行は、コンソール画面に「Hello, World!」と表示する命令です。

4-2. Mainメソッドの役割

C#のプログラムは、基本的にMainメソッドから実行が始まります。Mainメソッドは、アプリケーションの入口となる特別なメソッドです。

従来のC#では、次のようにMainメソッドを明示的に書くことが一般的でした。

C#
using System;

namespace SampleApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}

このコードでは、Mainメソッドの中に書かれた処理が上から順番に実行されます。

最近のC#では、より簡単に書けるトップレベルステートメントが使われることも多く、次のように短く書けます。

C#
Console.WriteLine("Hello, World!");

初心者はまず短い書き方で慣れてから、クラスやMainメソッドを使った構成を学ぶと理解しやすいです。

4-3. Console.WriteLineの使い方

Console.WriteLineは、コンソール画面に文字列や数値を表示するための命令です。

たとえば、次のコードを実行すると、文字が1行ずつ表示されます。

C#
Console.WriteLine("C#を学習中です");
Console.WriteLine("コンソールアプリケーションを作成しています");

実行結果は次のようになります。

C#を学習中です
コンソールアプリケーションを作成しています

WriteLineは、表示したあとに改行します。一方で、改行せずに表示したい場合はConsole.Writeを使います。

C#
Console.Write("名前を入力してください:");

ユーザーに入力を促す場合は、Console.Writeを使うと自然な表示になります。

4-4. using文と名前空間の基本

C#では、便利な機能を使うためにusing文を記述することがあります。

たとえば、従来の書き方では次のようにusing System;を記述していました。

C#
using System;

class Program
{
static void Main()
{
Console.WriteLine("Hello");
}
}

ConsoleSystem名前空間に含まれるクラスです。using System;を書くことで、System.Console.WriteLineと書かなくても、Console.WriteLineと短く書けます。

ただし、新しいC#のプロジェクトでは、暗黙的なusingが有効になっている場合があり、using System;を書かなくてもConsole.WriteLineが使えることがあります。

初心者のうちは、「using文は、よく使う機能を簡単に呼び出すための準備」と理解しておけば十分です。

4-5. トップレベルステートメントとは?

トップレベルステートメントとは、Mainメソッドやclass Programを書かなくても、直接処理を書けるC#の機能です。

たとえば、次のコードはトップレベルステートメントを使った書き方です。

C#
Console.WriteLine("Hello, World!");

従来の書き方では、同じ処理を次のように書いていました。

C#
using System;

class Program
{
static void Main()
{
Console.WriteLine("Hello, World!");
}
}

トップレベルステートメントを使うと、コードが短くなり、初心者でもプログラムの流れを理解しやすくなります。

ただし、C#の学習を進めるうちに、クラスやメソッドの考え方も必要になります。最初はトップレベルステートメントで慣れ、次にMainメソッドやクラス構成を学ぶのがおすすめです。

5. サンプルコードで学ぶC# コンソールアプリケーション

ここからは、C# コンソールアプリケーションの基本をサンプルコードで学んでいきます。

実際にVisual Studioでコードを書き、実行しながら確認すると理解が深まります。

5-1. 「Hello World」を表示するサンプル

最初は、定番の「Hello World」を表示するプログラムです。

C#
Console.WriteLine("Hello World");

実行結果は次のとおりです。

Hello World

日本語を表示することもできます。

C#
Console.WriteLine("こんにちは、C# コンソールアプリケーション!");

実行結果は次のようになります。

こんにちは、C# コンソールアプリケーション!

Console.WriteLineは、C# コンソールアプリケーションで最も基本的な命令のひとつです。

5-2. キーボード入力を受け取るサンプル

次に、キーボードから入力された文字を受け取るサンプルです。

C#
Console.Write("何か入力してください:");
string input = Console.ReadLine();

Console.WriteLine("入力された内容は " + input + " です。");

実行すると、ユーザーが入力した文字がinputという変数に入ります。

Console.ReadLineは、ユーザーがキーボードで入力した1行分の文字列を取得する命令です。

5-3. 入力した名前を表示するサンプル

名前を入力して、あいさつ文を表示するプログラムを作ってみましょう。

C#
Console.Write("名前を入力してください:");
string name = Console.ReadLine();

Console.WriteLine("こんにちは、" + name + "さん!");

実行例は次のとおりです。

名前を入力してください:太郎
こんにちは、太郎さん!

文字列をつなげるときは、+を使います。

また、文字列補間を使うと、次のようにわかりやすく書けます。

C#
Console.Write("名前を入力してください:");
string name = Console.ReadLine();

Console.WriteLine($"こんにちは、{name}さん!");

$"..."の中で{name}と書くと、変数の値を文字列の中に埋め込めます。

5-4. 数値計算を行うサンプル

C#では、数値を使った計算も簡単にできます。

C#
int a = 10;
int b = 5;

Console.WriteLine(a + b);
Console.WriteLine(a - b);
Console.WriteLine(a * b);
Console.WriteLine(a / b);

実行結果は次のとおりです。

15
5
50
2

intは整数を扱う型です。C#では、変数を使うときに型を指定します。

ユーザーから入力された数値を計算する場合は、文字列を数値に変換する必要があります。

C#
Console.Write("1つ目の数値を入力してください:");
int num1 = int.Parse(Console.ReadLine());

Console.Write("2つ目の数値を入力してください:");
int num2 = int.Parse(Console.ReadLine());

int result = num1 + num2;

Console.WriteLine($"合計は {result} です。");

Console.ReadLineで受け取った値は文字列なので、int.Parseを使って整数に変換しています。

5-5. if文を使った条件分岐のサンプル

if文を使うと、条件によって処理を変えられます。

C#
Console.Write("点数を入力してください:");
int score = int.Parse(Console.ReadLine());

if (score >= 80)
{
Console.WriteLine("合格です!");
}
else
{
Console.WriteLine("不合格です。");
}

このプログラムでは、入力された点数が80点以上なら「合格です!」と表示し、それ以外なら「不合格です。」と表示します。

複数の条件を使いたい場合は、else ifを使います。

C#
Console.Write("点数を入力してください:");
int score = int.Parse(Console.ReadLine());

if (score >= 90)
{
Console.WriteLine("評価はAです。");
}
else if (score >= 70)
{
Console.WriteLine("評価はBです。");
}
else if (score >= 50)
{
Console.WriteLine("評価はCです。");
}
else
{
Console.WriteLine("評価はDです。");
}

条件分岐は、C# コンソールアプリケーションだけでなく、あらゆるアプリ開発で使う重要な文法です。

5-6. for文を使った繰り返し処理のサンプル

for文を使うと、同じ処理を繰り返し実行できます。

C#
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"{i}回目の表示です。");
}

実行結果は次のとおりです。

1回目の表示です。
2回目の表示です。
3回目の表示です。
4回目の表示です。
5回目の表示です。

for文は、回数が決まっている繰り返し処理に向いています。

たとえば、1から10までの合計を求めるプログラムは次のように書けます。

C#
int sum = 0;

for (int i = 1; i <= 10; i++)
{
sum += i;
}

Console.WriteLine($"1から10までの合計は {sum} です。");

実行結果は次のようになります。

1から10までの合計は 55 です。

6. 作成したC# コンソールアプリケーションを実行する方法

C# コンソールアプリケーションを作成したら、実際に実行して動作を確認します。Visual Studioでは、ボタン操作だけで簡単に実行できます。

6-1. Visual Studioから実行する方法

Visual Studioで実行するには、画面上部にある実行ボタンをクリックします。緑色の三角形のボタンが実行ボタンです。

また、キーボードショートカットも使えます。

F5:デバッグ実行
Ctrl + F5:デバッグなしで実行

初心者のうちは、まずCtrl + F5で実行するとよいでしょう。プログラムの終了後もコンソール画面がすぐに閉じにくいため、実行結果を確認しやすいです。

6-2. デバッグ実行と通常実行の違い

Visual Studioには、デバッグ実行と通常実行があります。

デバッグ実行は、プログラムの動きを確認しながら実行する方法です。ブレークポイントを設定すると、指定した行で処理を一時停止できます。

通常実行は、プログラムをそのまま実行する方法です。学習の初期段階では、通常実行で結果を確認するだけでも問題ありません。

違いを簡単にまとめると、次のようになります。

F5        :デバッグ実行
Ctrl + F5 :デバッグなしで実行

エラーの原因を詳しく調べたいときはデバッグ実行、単に結果を確認したいときは通常実行を使うとよいでしょう。

6-3. コマンドプロンプトから実行する方法

C# コンソールアプリケーションは、Visual Studioだけでなく、コマンドプロンプトやターミナルからも実行できます。

プロジェクトフォルダーに移動して、次のコマンドを実行します。

Bash
dotnet run

たとえば、プロジェクトが次の場所にある場合を考えます。

C:\Users\ユーザー名\source\repos\HelloConsoleApp

コマンドプロンプトでそのフォルダーに移動し、dotnet runを実行します。

Bash
cd C:\Users\ユーザー名\source\repos\HelloConsoleApp
dotnet run

すると、Program.csに書かれたプログラムが実行されます。

コマンド操作に慣れておくと、Visual Studio Codeや他の環境で開発するときにも役立ちます。

6-4. 実行ファイルの場所を確認する方法

C# コンソールアプリケーションをビルドすると、実行ファイルが生成されます。

一般的には、プロジェクトフォルダー内の次のような場所にあります。

bin\Debug\net8.0\

または、Releaseビルドの場合は次のような場所です。

bin\Release\net8.0\

中には、.exeファイルや.dllファイルなどが生成されます。

Visual Studioのソリューション エクスプローラーでプロジェクトを右クリックし、「エクスプローラーでフォルダーを開く」を選ぶと、プロジェクトの保存場所を簡単に確認できます。

7. C# コンソールアプリケーションでよく使う基本機能

C# コンソールアプリケーションでは、いくつかの基本機能をよく使います。ここでは、初心者が最初に覚えておきたい機能を紹介します。

7-1. 文字列を表示する

文字列を表示するには、Console.WriteLineを使います。

C#
Console.WriteLine("文字列を表示します");

改行せずに表示したい場合は、Console.Writeを使います。

C#
Console.Write("名前:");

ユーザーに入力を促すときは、Console.Writeを使うと見やすくなります。

7-2. ユーザー入力を取得する

ユーザーの入力を取得するには、Console.ReadLineを使います。

C#
string text = Console.ReadLine();

入力を受け取って表示する例は次のとおりです。

C#
Console.Write("好きな言葉を入力してください:");
string message = Console.ReadLine();

Console.WriteLine($"入力内容:{message}");

Console.ReadLineで取得できるのは文字列です。数値として使いたい場合は、型変換が必要です。

7-3. 変数を使う

変数とは、値を一時的に入れておく箱のようなものです。

C#
string name = "太郎";
int age = 20;

Console.WriteLine(name);
Console.WriteLine(age);

C#では、変数に型があります。

代表的な型は次のとおりです。

string:文字列
int :整数
double:小数
bool :trueまたはfalse

変数を使うことで、入力値や計算結果を保存し、後の処理で利用できます。

7-4. 条件分岐を使う

条件分岐には、if文を使います。

C#
int age = 18;

if (age >= 20)
{
Console.WriteLine("成人です。");
}
else
{
Console.WriteLine("未成年です。");
}

条件式が正しい場合はifの中の処理が実行され、正しくない場合はelseの中の処理が実行されます。

条件分岐は、入力内容によって処理を変えたいときに使います。

7-5. 繰り返し処理を使う

同じ処理を何度も行いたいときは、for文やwhile文を使います。

for文の例です。

C#
for (int i = 0; i < 3; i++)
{
Console.WriteLine("繰り返し処理です");
}

while文の例です。

C#
int count = 0;

while (count < 3)
{
Console.WriteLine("while文の処理です");
count++;
}

for文は回数が決まっている場合、while文は条件を満たす間だけ繰り返したい場合に使うことが多いです。

7-6. メソッドを定義する

メソッドとは、処理をひとまとめにしたものです。何度も使う処理をメソッドにしておくと、コードが読みやすくなります。

C#
static void ShowMessage()
{
Console.WriteLine("メソッドから表示しています。");
}

ShowMessage();

引数を使うと、メソッドに値を渡せます。

C#
static void Greet(string name)
{
Console.WriteLine($"こんにちは、{name}さん!");
}

Greet("太郎");
Greet("花子");

メソッドを使えるようになると、C# コンソールアプリケーションのコードを整理しやすくなります。

8. 初心者がつまずきやすいエラーと対処法

C# コンソールアプリケーションを作成していると、エラーが発生することがあります。エラーは初心者にとって不安に感じるものですが、原因を確認すれば解決できます。

8-1. ビルドエラーが発生する原因

ビルドエラーとは、コードに問題があり、プログラムを実行できない状態のことです。

よくある原因は次のとおりです。

・セミコロンを忘れている
・変数名を間違えている
・全角文字が混ざっている
・括弧の数が合っていない
・型が一致していない
・メソッド名の大文字小文字が違う

C#では、大文字と小文字が区別されます。たとえば、Console.WriteLineconsole.writelineと書くとエラーになります。

エラーが出た場合は、Visual Studioの「エラー一覧」を確認しましょう。エラーの行番号や内容が表示されるため、修正箇所を見つけやすくなります。

8-2. セミコロン忘れの対処法

C#では、多くの命令の末尾にセミコロン;が必要です。

正しい例は次のとおりです。

C#
Console.WriteLine("Hello");

セミコロンを忘れると、ビルドエラーになります。

間違った例です。

C#
Console.WriteLine("Hello")

Visual Studioでは、セミコロン忘れの近くに赤い波線が表示されることがあります。エラーが出たら、まず行末に;があるか確認しましょう。

ただし、if文やfor文のブロック自体にはセミコロンを付けません。

C#
if (true)
{
Console.WriteLine("OK");
}

命令文の末尾にはセミコロン、ブロックには波括弧を使うと覚えておくとよいです。

8-3. 型変換エラーの対処法

Console.ReadLineで受け取った値は文字列です。そのため、数値として使う場合は変換が必要です。

たとえば、次のコードはエラーになります。

C#
int age = Console.ReadLine();

Console.ReadLineの戻り値はstringなので、int型の変数にそのまま入れられません。

正しくは次のように書きます。

C#
int age = int.Parse(Console.ReadLine());

ただし、数字以外が入力されるとエラーになります。安全に変換したい場合は、int.TryParseを使います。

C#
Console.Write("年齢を入力してください:");
string input = Console.ReadLine();

if (int.TryParse(input, out int age))
{
Console.WriteLine($"年齢は {age} 歳です。");
}
else
{
Console.WriteLine("数値を入力してください。");
}

初心者は最初にint.Parseを学び、慣れてきたらTryParseも使えるようになるとよいでしょう。

8-4. コンソール画面がすぐ閉じる場合の対処法

プログラムを実行したあと、コンソール画面がすぐ閉じてしまい、結果を確認できないことがあります。

この場合は、Visual StudioでCtrl + F5を使って実行すると、画面が閉じにくくなります。

また、プログラムの最後に次のコードを追加する方法もあります。

C#
Console.WriteLine("Enterキーを押すと終了します。");
Console.ReadLine();

Console.ReadLineで入力待ちの状態にすることで、コンソール画面がすぐ閉じるのを防げます。

学習中は、実行結果を確認するためにこの方法を使うと便利です。

8-5. 日本語が文字化けする場合の対処法

C# コンソールアプリケーションで日本語を表示すると、環境によっては文字化けする場合があります。

その場合は、文字コードの設定を確認します。Program.csの先頭付近に次のコードを追加すると改善することがあります。

C#
Console.OutputEncoding = System.Text.Encoding.UTF8;

入力側も調整したい場合は、次のように書くこともあります。

C#
Console.InputEncoding = System.Text.Encoding.UTF8;
Console.OutputEncoding = System.Text.Encoding.UTF8;

また、使用しているターミナルやコマンドプロンプトの文字コード設定が影響する場合もあります。

Visual Studioの実行画面やWindows Terminalを使うと、日本語が正しく表示されやすいです。

9. C# コンソールアプリケーション作成後に学ぶべきこと

C# コンソールアプリケーションで基本文法を学んだら、次のステップに進みましょう。C#は幅広い開発に使える言語なので、基礎を固めることでさまざまなアプリケーション開発へ応用できます。

9-1. クラスとオブジェクト指向

C#を本格的に学ぶうえで、クラスとオブジェクト指向は重要です。

クラスとは、データと処理をまとめるための設計図のようなものです。たとえば、人を表すクラスを作る場合、名前や年齢などのデータと、あいさつする処理をまとめられます。

C#
class Person
{
public string Name { get; set; }

public void Greet()
{
Console.WriteLine($"こんにちは、{Name}です。");
}
}

クラスを使えるようになると、大きなプログラムを整理して作れるようになります。

9-2. 配列とListの使い方

複数のデータを扱う場合は、配列やListを使います。

配列の例です。

C#
string[] fruits = { "りんご", "みかん", "バナナ" };

foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}

Listの例です。

C#
List<string> names = new List<string>();

names.Add("太郎");
names.Add("花子");
names.Add("次郎");

foreach (string name in names)
{
Console.WriteLine(name);
}

配列やListを使うと、複数の値をまとめて管理できます。

9-3. ファイル入出力

C# コンソールアプリケーションでは、ファイルを読み書きする処理もよく使われます。

テキストファイルに書き込む例です。

C#
File.WriteAllText("sample.txt", "C#でファイルを書き込みました。");

テキストファイルを読み込む例です。

C#
string text = File.ReadAllText("sample.txt");
Console.WriteLine(text);

ファイル入出力を学ぶと、ログの保存、設定ファイルの読み込み、CSVデータの処理などができるようになります。

9-4. 例外処理

プログラムでは、実行中にエラーが発生することがあります。たとえば、存在しないファイルを読み込もうとした場合や、数値以外の文字を数値に変換しようとした場合です。

このような実行時エラーに対応するために、例外処理を使います。

C#
try
{
Console.Write("数値を入力してください:");
int number = int.Parse(Console.ReadLine());

Console.WriteLine($"入力された数値は {number} です。");
}
catch
{
Console.WriteLine("エラーが発生しました。数値を入力してください。");
}

例外処理を使うことで、エラーが発生してもプログラムが突然終了しにくくなります。

9-5. LINQの基本

LINQは、データの検索、並べ替え、抽出などを簡潔に書くためのC#の機能です。

たとえば、Listの中から80点以上の点数だけを取り出す場合、次のように書けます。

C#
List<int> scores = new List<int> { 60, 75, 90, 45, 88 };

var highScores = scores.Where(score => score >= 80);

foreach (int score in highScores)
{
Console.WriteLine(score);
}

実行結果は次のようになります。

90
88

LINQを使えるようになると、データ処理を効率よく書けるようになります。

9-6. WindowsアプリやWebアプリへの応用

C# コンソールアプリケーションで基礎を学んだら、WindowsアプリやWebアプリにも挑戦できます。

Windowsアプリでは、画面付きのデスクトップアプリを作れます。Webアプリでは、ブラウザから利用できるシステムを作れます。

どちらの場合も、C#の基本文法は共通しています。

コンソールアプリケーションで学んだ次の知識は、そのまま応用できます。

・変数
・条件分岐
・繰り返し処理
・メソッド
・クラス
・例外処理
・ファイル操作
・データ処理

最初にC# コンソールアプリケーションで基礎を固めておくと、次の学習がスムーズになります。

10. C# コンソールアプリケーションに関するよくある質問

最後に、C# コンソールアプリケーションについて初心者が疑問に感じやすい点を解説します。

10-1. Visual Studio Codeでも作成できる?

Visual Studio CodeでもC# コンソールアプリケーションを作成できます。

ただし、Visual Studio Codeは軽量なコードエディターなので、C#開発に必要な拡張機能や.NET SDKを自分で準備する必要があります。

コマンドでプロジェクトを作成する場合は、次のように入力します。

Bash
dotnet new console -n HelloConsoleApp

作成したフォルダーに移動して、次のコマンドで実行できます。

Bash
cd HelloConsoleApp
dotnet run

初心者で、画面操作を中心に学びたい場合はVisual Studioがおすすめです。コマンド操作にも慣れたい場合は、Visual Studio Codeを使うのもよいでしょう。

10-2. MacでもC# コンソールアプリケーションは作れる?

MacでもC# コンソールアプリケーションは作成できます。

.NET SDKはWindowsだけでなく、macOSやLinuxにも対応しています。そのため、Macに.NET SDKをインストールすれば、ターミナルからC# コンソールアプリケーションを作成・実行できます。

基本的な流れは次のとおりです。

Bash
dotnet new console -n HelloConsoleApp
cd HelloConsoleApp
dotnet run

開発エディターとしては、Visual Studio Codeなどを使えます。

Windows環境と多少操作は異なりますが、C#の文法やコンソールアプリケーションの基本は同じです。

10-3. .NET Frameworkと.NETの違いは?

.NET Frameworkは、主にWindows向けに使われてきた従来の開発基盤です。一方、現在の.NETは、Windows、macOS、Linuxなど複数の環境で動作する開発基盤です。

初心者がこれからC# コンソールアプリケーションを学ぶ場合は、基本的に新しい.NETを選ぶのがおすすめです。

Visual Studioで「コンソール アプリ」を作成するときも、特別な理由がなければ.NET Frameworkではなく、.NETを選ぶとよいでしょう。

古い業務システムでは.NET Frameworkが使われていることもありますが、新しく学習を始めるなら、まずは.NETのコンソールアプリケーションから始めるのがわかりやすいです。

10-4. コンソールアプリは実務で使われる?

コンソールアプリケーションは、実務でも使われます。

見た目はシンプルですが、次のような用途に向いています。

・ファイルの一括処理
・データ変換ツール
・ログ出力ツール
・定期実行バッチ
・CSVファイルの読み書き
・社内向けの簡易ツール
・サーバー上で動かす自動処理

画面が不要な処理であれば、コンソールアプリケーションは軽量で作りやすく、管理もしやすいです。

そのため、C# コンソールアプリケーションは学習用としてだけでなく、実務でも十分に役立ちます。

10-5. 初心者はどの順番で学習すればよい?

初心者は、次の順番で学習すると理解しやすいです。

まずは、Visual StudioでC# コンソールアプリケーションを作成し、Console.WriteLineで文字を表示するところから始めます。

次に、変数、入力、条件分岐、繰り返し処理を学びます。

その後、メソッド、配列、List、クラス、例外処理、ファイル入出力へ進むとよいでしょう。

おすすめの学習順序は次のとおりです。

1. Console.WriteLineで文字を表示する
2. Console.ReadLineで入力を受け取る
3. 変数と型を学ぶ
4. if文で条件分岐を学ぶ
5. for文やwhile文で繰り返し処理を学ぶ
6. メソッドを学ぶ
7. 配列とListを学ぶ
8. クラスとオブジェクト指向を学ぶ
9. ファイル入出力を学ぶ
10. 例外処理やLINQを学ぶ

一度にすべて覚えようとせず、簡単なサンプルコードを実行しながら少しずつ理解していくことが大切です。

まとめ

C# コンソールアプリケーションは、C#初心者が最初に学ぶ題材として非常におすすめです。画面がシンプルなため、C#の基本文法やプログラムの流れに集中できます。

Visual Studioを使えば、テンプレートから簡単にC# コンソールアプリケーションを作成できます。プロジェクトを作成したら、Program.csにコードを書き、実行ボタンやCtrl + F5で動作を確認できます。

最初に覚えるべき基本は、Console.WriteLineによる表示、Console.ReadLineによる入力、変数、条件分岐、繰り返し処理です。これらを理解できれば、より実用的なプログラムにも挑戦しやすくなります。

また、コンソールアプリケーションは学習用だけでなく、ファイル処理、データ変換、定期実行ツールなど、実務でも活用されています。

C#を学び始めたばかりの方は、まずVisual Studioで簡単なコンソールアプリケーションを作成し、サンプルコードを実行しながら基礎を身につけていきましょう。