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
int、double、decimalなどの数値型も、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. 実行結果の違いをサンプルコードで比較
WriteとWriteLineの違いを、次のコードで確認してみましょう。
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.WriteとConsole.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");
ConsoleのCは大文字、WriteLineのWとLも大文字です。
writelineやWritelineのように書くと認識されないため注意しましょう。
6-5. 変数名の間違いによるエラー
変数を出力するときは、定義した変数名と同じ名前を書く必要があります。
間違った例です。
C#string name = "田中";
Console.WriteLine(neme);
この例では、nameではなくnemeと書いているためエラーになります。
正しい例です。
C#string name = "田中";
Console.WriteLine(name);
C#では変数名も大文字・小文字を区別します。
C#string name = "田中";
Console.WriteLine(Name);
このようにnameとNameは別の名前として扱われるため、間違えないようにしましょう。
6-6. Mainメソッドやプロジェクト設定に関する注意点
C#のコンソールアプリでは、プログラムの開始地点としてMainメソッドが使われます。
C#class Program
{
static void Main()
{
Console.WriteLine("Hello");
}
}
ただし、新しいC#のプロジェクトでは、トップレベルステートメントという書き方が使われることがあります。その場合は、次のようにclass ProgramやMainを書かなくても動作します。
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をインストールしておく必要があります。
ターミナルでプロジェクトを作成します。
Bashdotnet new console -n SampleApp
作成したフォルダに移動します。
Bashcd SampleApp
Program.csに次のコードを書きます。
C#Console.WriteLine("Hello from C#");
ターミナルで次のコマンドを実行します。
Bashdotnet run
実行結果です。
Hello from C#
Visual Studio Codeでは、ターミナル上に実行結果が表示されます。
7-3. dotnetコマンドで実行する方法
C#のコンソールアプリは、dotnetコマンドでも実行できます。
まず、コンソールアプリを作成します。
Bashdotnet new console -n MyConsoleApp
フォルダに移動します。
Bashcd MyConsoleApp
実行します。
Bashdotnet 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の違いを確認する
最後に、WriteとWriteLineの違いを確認してみましょう。
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は、WとLを大文字で書く必要があります。
9-2. Console.WriteLineはどの名前空間にありますか?
Console.WriteLineのConsoleクラスは、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#学習の最初に覚える重要な命令です。変数、計算、条件分岐、繰り返し処理などを学ぶときにも頻繁に使うため、サンプルコードを実際に動かしながら慣れていきましょう。

