C# WriteLineの使い方を初心者向けに解説|Console.Writeとの違い・変数出力・よくあるエラーまで

はじめに

C#を学び始めると、最初によく登場する命令のひとつがConsole.WriteLineです。画面に文字や数字を表示するために使われる基本的な命令で、「Hello World」を出力するサンプルコードでも頻繁に使われます。

プログラミング初心者にとって、まず大切なのは「自分が書いたコードの結果を確認できること」です。WriteLineを使うと、文字列、変数の値、計算結果などをコンソール画面に表示できます。そのため、C#の基本文法を学ぶうえで非常に重要な役割を持っています。

この記事では、C#のWriteLineの使い方を初心者向けにわかりやすく解説します。Console.Writeとの違い、変数の出力、文字列の整形、よくあるエラーと対処法まで順番に紹介します。

1. C#のWriteLineとは?初心者向けに役割をわかりやすく解説

1-1. WriteLineは文字列や値をコンソールに表示する命令

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

たとえば、次のように書くと、コンソール画面にこんにちはと表示されます。

C#
Console.WriteLine("こんにちは");

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

こんにちは

WriteLineは、プログラムの実行結果を確認したいときや、変数の中身を表示したいときによく使われます。

1-2. Console.WriteLineの基本的な意味

C#では、一般的に次の形でWriteLineを使います。

C#
Console.WriteLine(表示したい内容);

ここで登場するConsoleは、コンソール画面を扱うためのクラスです。WriteLineは、そのConsoleクラスが持っているメソッドのひとつです。

つまり、Console.WriteLineは「コンソールに1行出力する」という意味になります。

WriteLineの最後にあるLineは「行」を意味します。その名前のとおり、出力したあとに自動で改行されるのが特徴です。

1-3. WriteLineがよく使われる場面

Console.WriteLineは、次のような場面でよく使われます。

C#
Console.WriteLine("プログラムを開始しました");
C#
int score = 80;
Console.WriteLine(score);
C#
int a = 10;
int b = 20;
Console.WriteLine(a + b);

このように、メッセージを表示したり、変数の値を確認したり、計算結果を表示したりするときに便利です。

特に学習中は、「この変数には何が入っているのか」「この計算結果は正しいのか」を確認するために何度も使います。

1-4. C#学習で最初に覚えるべき理由

Console.WriteLineは、C#の学習で最初に覚えるべき基本命令です。理由は、プログラムの結果を目で確認できるからです。

たとえば、変数、条件分岐、繰り返し処理、配列、メソッドなどを学ぶときにも、WriteLineで結果を表示できると理解しやすくなります。

C#
int age = 20;
Console.WriteLine(age);

このように書けば、変数ageに入っている値をすぐに確認できます。

初心者のうちは、コードを書いたらConsole.WriteLineで結果を表示して確認する習慣をつけると、C#の理解が進みやすくなります。

2. Console.WriteLineの基本的な使い方

2-1. 文字列を表示する基本構文

文字列を表示する場合は、表示したい文字をダブルクォーテーション"で囲みます。

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

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

Hello World

日本語も同じように表示できます。

C#
Console.WriteLine("C#を勉強しています");

実行結果です。

C#を勉強しています

文字列を出力するときは、必ずダブルクォーテーションで囲むことが大切です。

2-2. 数値を表示する方法

数値を表示する場合は、ダブルクォーテーションで囲まなくても出力できます。

C#
Console.WriteLine(100);

実行結果です。

100

小数も表示できます。

C#
Console.WriteLine(3.14);

実行結果です。

3.14

文字列として"100"と書いた場合も画面には100と表示されますが、プログラム上では数値ではなく文字列として扱われます。

C#
Console.WriteLine("100");
Console.WriteLine(100);

どちらも表示結果は似ていますが、意味は異なります。

2-3. 複数行を表示する方法

Console.WriteLineを複数回書くと、複数行に分けて表示できます。

C#
Console.WriteLine("おはようございます");
Console.WriteLine("こんにちは");
Console.WriteLine("こんばんは");

実行結果です。

おはようございます
こんにちは
こんばんは

WriteLineは出力後に自動で改行されるため、1つのWriteLineにつき1行ずつ表示されます。

2-4. 空行を出力する方法

空行を出力したい場合は、引数を何も指定せずにConsole.WriteLine()と書きます。

C#
Console.WriteLine("1行目");
Console.WriteLine();
Console.WriteLine("3行目");

実行結果です。

1行目

3行目

このように、途中に空白行を入れたいときに使えます。表示を見やすく整えたい場合に便利です。

2-5. サンプルコードで動作を確認する

次のコードを実行して、Console.WriteLineの基本的な動きを確認してみましょう。

C#
using System;

class Program
{
static void Main()
{
Console.WriteLine("C#の学習を始めます");
Console.WriteLine(123);
Console.WriteLine();
Console.WriteLine("空行の後に表示されます");
}
}

実行結果です。

C#の学習を始めます
123

空行の後に表示されます

文字列、数値、空行をそれぞれ出力できていることがわかります。

3. WriteLineで変数の値を出力する方法

3-1. 文字列型の変数を出力する

文字列型の変数をWriteLineで出力するには、変数名をそのまま指定します。

C#
string name = "田中";
Console.WriteLine(name);

実行結果です。

田中

変数nameの中に入っている田中という文字列が表示されます。

変数を表示するときは、変数名をダブルクォーテーションで囲まないように注意しましょう。

C#
Console.WriteLine("name");

このように書くと、変数の中身ではなくnameという文字そのものが表示されます。

3-2. 数値型の変数を出力する

数値型の変数も同じように出力できます。

C#
int age = 25;
Console.WriteLine(age);

実行結果です。

25

小数を扱うdouble型の変数も表示できます。

C#
double height = 170.5;
Console.WriteLine(height);

実行結果です。

170.5

intdoubledecimalなどの数値型も、Console.WriteLineに渡すだけで表示できます。

3-3. bool型の値を出力する

bool型は、trueまたはfalseを表す型です。Console.WriteLineで出力すると、真偽値が表示されます。

C#
bool isActive = true;
Console.WriteLine(isActive);

実行結果です。

True

C#では、bool型の値を表示すると、先頭が大文字のTrueまたはFalseとして表示されます。

C#
bool isFinished = false;
Console.WriteLine(isFinished);

実行結果です。

False

条件分岐の結果を確認したいときにも便利です。

3-4. 変数と文字列を組み合わせて出力する

変数だけでなく、文字列と組み合わせて表示することもできます。

C#
string name = "佐藤";
int age = 30;

Console.WriteLine(name + "さんは" + age + "歳です。");

実行結果です。

佐藤さんは30歳です。

このように、+演算子を使うと文字列と変数をつなげて表示できます。

ただし、文字列と変数が増えると読みにくくなることがあります。その場合は、文字列補間を使うとわかりやすく書けます。

C#
Console.WriteLine($"{name}さんは{age}歳です。");

実行結果は同じです。

佐藤さんは30歳です。

3-5. 計算結果をWriteLineで表示する

Console.WriteLineでは、計算結果をそのまま表示することもできます。

C#
Console.WriteLine(10 + 5);

実行結果です。

15

変数を使った計算も表示できます。

C#
int price = 1000;
int tax = 100;

Console.WriteLine(price + tax);

実行結果です。

1100

説明文と一緒に表示することもできます。

C#
int a = 8;
int b = 3;

Console.WriteLine($"合計は{a + b}です。");
Console.WriteLine($"差は{a - b}です。");
Console.WriteLine($"積は{a * b}です。");

実行結果です。

合計は11です。
差は5です。
積は24です。

計算結果をすぐに確認できるため、学習中やデバッグ時に役立ちます。

4. Console.WriteLineで文字列を整形して出力する方法

4-1. +演算子で文字列を連結する

文字列と文字列、または文字列と変数をつなげるには、+演算子を使います。

C#
string firstName = "山田";
string lastName = "太郎";

Console.WriteLine(firstName + lastName);

実行結果です。

山田太郎

間にスペースを入れたい場合は、スペースを含む文字列を連結します。

C#
Console.WriteLine(firstName + " " + lastName);

実行結果です。

山田 太郎

文章として表示する場合は、次のように書けます。

C#
int score = 90;
Console.WriteLine("点数は" + score + "点です。");

実行結果です。

点数は90点です。

+演算子はわかりやすいですが、連結する要素が多いとコードが長くなりやすい点に注意しましょう。

4-2. 文字列補間を使う方法

文字列補間は、文字列の中に変数や式を埋め込む書き方です。文字列の前に$を付け、変数や式を{}の中に書きます。

C#
string name = "鈴木";
int age = 22;

Console.WriteLine($"{name}さんは{age}歳です。");

実行結果です。

鈴木さんは22歳です。

計算式も埋め込めます。

C#
int x = 10;
int y = 20;

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

実行結果です。

合計は30です。

文字列補間を使うと、文章の形を保ったまま変数を埋め込めるため、初心者にも読みやすい書き方です。

4-3. 書式指定を使って表示する方法

Console.WriteLineでは、数値の表示形式を指定できます。たとえば、小数点以下の桁数を指定したい場合は、次のように書きます。

C#
double pi = 3.14159;
Console.WriteLine($"{pi:F2}");

実行結果です。

3.14

F2は、小数点以下2桁で表示するという意味です。

金額のように桁区切りを表示したい場合は、次のように書けます。

C#
int price = 1234567;
Console.WriteLine($"{price:N0}");

実行結果の例です。

1,234,567

パーセント表示もできます。

C#
double rate = 0.25;
Console.WriteLine($"{rate:P0}");

実行結果の例です。

25%

表示形式を整えることで、出力結果が見やすくなります。

4-4. 改行コードを含めて出力する方法

文字列の中で改行したい場合は、改行コード\nを使います。

C#
Console.WriteLine("1行目\n2行目\n3行目");

実行結果です。

1行目
2行目
3行目

Console.WriteLine自体も出力後に改行しますが、\nを使うと1つの文字列の中で改行できます。

また、環境に合わせた改行を使いたい場合は、Environment.NewLineを使うこともできます。

C#
Console.WriteLine("1行目" + Environment.NewLine + "2行目");

実行結果です。

1行目
2行目

4-5. ダブルクォーテーションや特殊文字を表示する方法

文字列の中にダブルクォーテーションを表示したい場合は、バックスラッシュ\を使ってエスケープします。

C#
Console.WriteLine("彼は\"こんにちは\"と言いました。");

実行結果です。

彼は"こんにちは"と言いました。

バックスラッシュ自体を表示したい場合は、\\と書きます。

C#
Console.WriteLine("C:\\Users\\User");

実行結果です。

C:\Users\User

タブを入れたい場合は、\tを使います。

C#
Console.WriteLine("名前\t年齢");
Console.WriteLine("田中\t20");

実行結果です。

名前    年齢
田中 20

特殊文字を表示するときは、エスケープ文字の使い方を覚えておくと便利です。

5. Console.WriteとConsole.WriteLineの違い

5-1. WriteLineは出力後に改行される

Console.WriteLineは、指定した内容を表示したあとに自動で改行します。

C#
Console.WriteLine("A");
Console.WriteLine("B");
Console.WriteLine("C");

実行結果です。

A
B
C

それぞれの出力が別の行に表示されます。

5-2. Writeは改行せずに出力される

一方、Console.Writeは、出力後に改行しません。

C#
Console.Write("A");
Console.Write("B");
Console.Write("C");

実行結果です。

ABC

続けて同じ行に表示されるのが特徴です。

5-3. 実行結果の違いをサンプルコードで比較

WriteWriteLineの違いを、次のコードで確認してみましょう。

C#
Console.Write("こんにちは");
Console.Write("C#");

Console.WriteLine();

Console.WriteLine("こんにちは");
Console.WriteLine("C#");

実行結果です。

こんにちはC#
こんにちは
C#

最初の2つはConsole.Writeなので、同じ行に続けて表示されています。途中のConsole.WriteLine()で空の改行を入れ、その後のConsole.WriteLineは1行ずつ表示されています。

5-4. WriteとWriteLineの使い分け

Console.WriteConsole.WriteLineは、目的に応じて使い分けます。

入力を促すメッセージのように、同じ行にユーザーの入力を続けたい場合はConsole.Writeが便利です。

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

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

実行イメージです。

名前を入力してください: 山田
こんにちは、山田さん

一方、結果やメッセージを1行ずつ見やすく表示したい場合はConsole.WriteLineを使います。

C#
Console.WriteLine("処理を開始します");
Console.WriteLine("処理が完了しました");

初心者のうちは、基本的にはConsole.WriteLineを使い、改行したくない場合にConsole.Writeを使うと覚えるとわかりやすいです。

5-5. 初心者が混同しやすいポイント

初心者が混同しやすいポイントは、「表示内容」ではなく「改行されるかどうか」が違いだという点です。

次の2つは、どちらも文字を表示します。

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

しかし、WriteLineは表示後に改行され、Writeは改行されません。

また、WriteLineは「1行表示する」、Writeは「そのまま書き込む」と考えると理解しやすくなります。

6. Console.WriteLineでよくあるエラーと対処法

6-1. Consoleが認識されない場合

Consoleが認識されない場合、using System;が書かれていない可能性があります。

C#
using System;

ファイルの先頭にこの記述を追加すると、Consoleを使えるようになります。

C#
using System;

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

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

また、完全修飾名を使って次のように書くこともできます。

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

6-2. セミコロン忘れによるエラー

C#では、基本的に文の終わりにセミコロン;が必要です。

間違った例です。

C#
Console.WriteLine("Hello")

正しい例です。

C#
Console.WriteLine("Hello");

セミコロンを忘れるとコンパイルエラーになります。Console.WriteLineを書いたら、最後に;を付けることを忘れないようにしましょう。

6-3. ダブルクォーテーション忘れによるエラー

文字列を表示する場合は、ダブルクォーテーションで囲む必要があります。

間違った例です。

C#
Console.WriteLine(Hello);

この場合、C#はHelloを変数名として解釈しようとします。しかし、Helloという変数が定義されていなければエラーになります。

正しい例です。

C#
Console.WriteLine("Hello");

文字そのものを表示したいときは、必ず"で囲みましょう。

6-4. 大文字・小文字の間違いによるエラー

C#は大文字と小文字を区別します。そのため、Console.WriteLineを小文字で書くとエラーになります。

間違った例です。

C#
console.writeline("Hello");

正しい例です。

C#
Console.WriteLine("Hello");

ConsoleCは大文字、WriteLineWLも大文字です。

writelineWritelineのように書くと認識されないため注意しましょう。

6-5. 変数名の間違いによるエラー

変数を出力するときは、定義した変数名と同じ名前を書く必要があります。

間違った例です。

C#
string name = "田中";
Console.WriteLine(neme);

この例では、nameではなくnemeと書いているためエラーになります。

正しい例です。

C#
string name = "田中";
Console.WriteLine(name);

C#では変数名も大文字・小文字を区別します。

C#
string name = "田中";
Console.WriteLine(Name);

このようにnameNameは別の名前として扱われるため、間違えないようにしましょう。

6-6. Mainメソッドやプロジェクト設定に関する注意点

C#のコンソールアプリでは、プログラムの開始地点としてMainメソッドが使われます。

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

ただし、新しいC#のプロジェクトでは、トップレベルステートメントという書き方が使われることがあります。その場合は、次のようにclass ProgramMainを書かなくても動作します。

C#
Console.WriteLine("Hello");

学習教材によってコードの形が違う場合がありますが、どちらもC#のコンソールアプリで使われる書き方です。

また、WindowsフォームアプリやWPFアプリなど、コンソールが表示されない種類のプロジェクトでは、Console.WriteLineを書いても画面上に結果が見えないことがあります。初心者が練習する場合は、まず「コンソールアプリ」のプロジェクトを作成するのがおすすめです。

7. Console.WriteLineの実行方法

7-1. Visual Studioで実行する方法

Visual StudioでConsole.WriteLineを実行するには、コンソールアプリのプロジェクトを作成します。

作成後、Program.csに次のようなコードを書きます。

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

実行するには、画面上部の開始ボタンを押すか、F5またはCtrl + F5を使います。

F5はデバッグ実行、Ctrl + F5はデバッグなしで実行です。初心者が実行結果を確認するだけなら、Ctrl + F5を使うとコンソール画面が閉じにくく確認しやすい場合があります。

7-2. Visual Studio Codeで実行する方法

Visual Studio CodeでC#を実行する場合は、.NET SDKをインストールしておく必要があります。

ターミナルでプロジェクトを作成します。

Bash
dotnet new console -n SampleApp

作成したフォルダに移動します。

Bash
cd SampleApp

Program.csに次のコードを書きます。

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

ターミナルで次のコマンドを実行します。

Bash
dotnet run

実行結果です。

Hello from C#

Visual Studio Codeでは、ターミナル上に実行結果が表示されます。

7-3. dotnetコマンドで実行する方法

C#のコンソールアプリは、dotnetコマンドでも実行できます。

まず、コンソールアプリを作成します。

Bash
dotnet new console -n MyConsoleApp

フォルダに移動します。

Bash
cd MyConsoleApp

実行します。

Bash
dotnet run

Program.csに次のようなコードがあれば、コンソールに表示されます。

C#
Console.WriteLine("C# WriteLineの練習");

実行結果です。

C# WriteLineの練習

dotnet runは、C#のコードをビルドして実行するための基本コマンドです。

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

Visual Studioで実行したときに、コンソール画面がすぐ閉じてしまうことがあります。その場合は、Console.ReadLine()を最後に追加すると、Enterキーが押されるまで画面を待機させることができます。

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

Console.ReadLine()は、ユーザーの入力を1行読み取る命令です。ここでは、画面を閉じないための待機として使えます。

また、Visual StudioではCtrl + F5で実行すると、実行結果を確認しやすい場合があります。

7-5. 実行結果を確認するポイント

Console.WriteLineの実行結果を確認するときは、次の点に注目しましょう。

表示したい文字列が正しく出ているか、変数の値が予想どおりか、改行位置が正しいか、計算結果が合っているかを確認します。

たとえば、次のコードを実行します。

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

Console.WriteLine($"a = {a}");
Console.WriteLine($"b = {b}");
Console.WriteLine($"a + b = {a + b}");

実行結果です。

a = 10
b = 5
a + b = 15

このように、変数名と値を一緒に表示すると、プログラムの状態を確認しやすくなります。

8. WriteLineを使った初心者向け練習問題

8-1. Hello Worldを表示する

まずは、C#の基本であるHello Worldを表示してみましょう。

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

実行結果です。

Hello World

文字列はダブルクォーテーションで囲むこと、文の最後にセミコロンを付けることを確認しましょう。

8-2. 自分の名前と年齢を表示する

次に、自分の名前と年齢を表示してみます。

C#
Console.WriteLine("名前: 山田太郎");
Console.WriteLine("年齢: 20");

実行結果です。

名前: 山田太郎
年齢: 20

WriteLineを2回使っているため、名前と年齢が別々の行に表示されます。

8-3. 変数を使って文章を表示する

変数を使って文章を表示してみましょう。

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

Console.WriteLine($"{name}さんは{age}歳です。");

実行結果です。

山田太郎さんは20歳です。

文字列補間を使うと、変数を文章の中に自然に埋め込めます。

8-4. 計算結果を表示する

計算結果をWriteLineで表示してみましょう。

C#
int num1 = 12;
int num2 = 4;

Console.WriteLine(num1 + num2);
Console.WriteLine(num1 - num2);
Console.WriteLine(num1 * num2);
Console.WriteLine(num1 / num2);

実行結果です。

16
8
48
3

説明を付けると、さらにわかりやすくなります。

C#
Console.WriteLine($"足し算: {num1 + num2}");
Console.WriteLine($"引き算: {num1 - num2}");
Console.WriteLine($"掛け算: {num1 * num2}");
Console.WriteLine($"割り算: {num1 / num2}");

実行結果です。

足し算: 16
引き算: 8
掛け算: 48
割り算: 3

8-5. WriteとWriteLineの違いを確認する

最後に、WriteWriteLineの違いを確認してみましょう。

C#
Console.Write("A");
Console.Write("B");
Console.Write("C");

Console.WriteLine();

Console.WriteLine("A");
Console.WriteLine("B");
Console.WriteLine("C");

実行結果です。

ABC
A
B
C

Console.Writeは改行せずに続けて表示され、Console.WriteLineは出力後に改行されることがわかります。

9. Console.WriteLineに関するよくある質問

9-1. WriteLineとwritelineは同じですか?

同じではありません。C#は大文字と小文字を区別する言語です。

正しい書き方は次のとおりです。

C#
Console.WriteLine("Hello");

次のように書くとエラーになります。

C#
Console.writeline("Hello");

WriteLineは、WLを大文字で書く必要があります。

9-2. Console.WriteLineはどの名前空間にありますか?

Console.WriteLineConsoleクラスは、System名前空間にあります。

そのため、従来の書き方ではファイルの先頭に次のように書きます。

C#
using System;

または、次のように完全修飾名で書くこともできます。

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

新しいC#プロジェクトでは、暗黙的なusingによってusing System;を書かなくても使える場合があります。

9-3. WriteLineで日本語は表示できますか?

はい、Console.WriteLineで日本語を表示できます。

C#
Console.WriteLine("こんにちは、C#");

実行結果です。

こんにちは、C#

ただし、実行環境や文字コードの設定によっては、日本語が文字化けすることがあります。特に古い環境やコマンドプロンプトを使う場合は、文字コードの設定を確認するとよいでしょう。

9-4. WriteLineで小数点の桁数を指定できますか?

はい、指定できます。文字列補間と書式指定を使うと、小数点以下の桁数を整えられます。

C#
double value = 12.3456;
Console.WriteLine($"{value:F2}");

実行結果です。

12.35

F2は小数点以下2桁で表示する指定です。小数点以下3桁にしたい場合はF3を使います。

C#
Console.WriteLine($"{value:F3}");

実行結果です。

12.346

9-5. WriteLineはWindowsアプリでも使えますか?

Console.WriteLine自体は使えますが、WindowsフォームアプリやWPFアプリでは、通常コンソール画面が表示されません。そのため、Console.WriteLineを書いても画面上で結果を確認できないことがあります。

Windowsアプリで画面に文字を表示したい場合は、ラベルやテキストボックスなどのUI部品を使うのが一般的です。

学習目的でWriteLineを使う場合は、コンソールアプリのプロジェクトを作成するのがおすすめです。

9-6. Console.ReadLineとの違いは何ですか?

Console.WriteLineは、コンソールに文字や値を出力する命令です。

一方、Console.ReadLineは、ユーザーが入力した文字列を読み取る命令です。

C#
Console.WriteLine("名前を入力してください");
string name = Console.ReadLine();
Console.WriteLine($"こんにちは、{name}さん");

実行イメージです。

名前を入力してください
山田
こんにちは、山田さん

WriteLineは「表示する」、ReadLineは「入力を受け取る」と覚えるとわかりやすいです。

まとめ

C#のConsole.WriteLineは、文字列や数値、変数の値、計算結果などをコンソールに表示するための基本的な命令です。出力後に自動で改行されるため、実行結果を1行ずつ見やすく表示できます。

文字列を表示する場合はダブルクォーテーションで囲み、数値や変数を表示する場合はそのまま指定できます。変数と文字列を組み合わせる場合は、+演算子や文字列補間を使うと便利です。

また、Console.Writeとの違いは、出力後に改行されるかどうかです。WriteLineは改行され、Writeは改行されません。初心者のうちは、結果を見やすく表示したいときはConsole.WriteLine、同じ行に続けて表示したいときはConsole.Writeと覚えておくとよいでしょう。

Console.WriteLineは、C#学習の最初に覚える重要な命令です。変数、計算、条件分岐、繰り返し処理などを学ぶときにも頻繁に使うため、サンプルコードを実際に動かしながら慣れていきましょう。