閉じる

【C#】 Console.WriteLine()の使い方 コンソール出力の基本と例

C#の学習で最初に触れるのがコンソール出力です。

Console.WriteLineはテキストを表示して改行する最も基本的なメソッドで、動作の確認やログ出力にも役立ちます。

本記事では、使い方の基本から改行やエスケープ、初心者がつまずきやすいポイントまで丁寧に解説します。

Console.WriteLineとは?C#のコンソール出力の基本

Console.WriteLineの役割

Console.WriteLineは標準出力(コンソール)に文字や数値などを表示し、最後に改行を入れるメソッドです

標準出力とは、プログラムの実行結果を画面に文字で示すための仕組みで、対話的な動作確認やログに最適です。

同じ仲間のConsole.Writeは改行を入れない点が違い、用途に応じて使い分けます。

Hello Worldの最小例

最初の一歩として、文字列を1行表示するだけの最小プログラムを示します。

トップレベル文を使うと、クラスやMainメソッドの記述を省いてシンプルに書けます

C#
// Hello World を1行表示する最小のC#プログラム
// .NET 6以降の「トップレベル文」を使用
Console.WriteLine("Hello, World!");
実行結果
Hello, World!

Console.WriteLineの使い方(基本構文と例)

文字列を出力する

最も基本的なのは、ダブルクオートで囲んだ文字列リテラルをそのまま表示する使い方です

日本語も表示できます。

C#
// 文字列をそのまま出力
Console.WriteLine("こんにちは C#");
Console.WriteLine("コンソールへ出力します");
実行結果
こんにちは C#
コンソールへ出力します

数値や変数を出力する

Console.WriteLineは文字列だけでなく、数値や真偽値などさまざまな型を文字列に変換して表示します

変数の中身を確認するのにも使えます。

C#
// 数値や真偽値、変数を出力
int score = 95;              // 整数
double pi = 3.14159;         // 小数
bool passed = true;          // 真偽値

Console.WriteLine(score);    // 95
Console.WriteLine(pi);       // 3.14159
Console.WriteLine(passed);   // True

// メッセージ + 値を続けて表示(この例は次節で詳述)
Console.WriteLine("スコア: " + score);
実行結果
95
3.14159
True
スコア: 95

複数の値を並べて出力する(+で連結)

文字列と変数を並べたい場合、+演算子で連結します

スペースを入れたいときは明示的に文字列リテラルに含めます。

C#
// 文字列と数値を + で連結して1行に出力
string name = "Taro";
int age = 20;

// 間にスペースや区切り文字を自分で入れる
Console.WriteLine("名前: " + name + ", 年齢: " + age + "歳");

// 数値同士の計算結果を表示したい場合は()で明確に
int a = 10;
int b = 5;
Console.WriteLine("合計: " + (a + b)); // (a + b) の結果で連結
実行結果
名前: Taro, 年齢: 20歳
合計: 15

補足: 文字列補間($"...")を使うとより読みやすく書けますが、詳細は別記事で扱います

改行と書式のポイント

WriteLineとWriteの違い

WriteLineは表示後に改行、Writeは改行なしです。

横並びで表示する際はWrite、行ごとに区切りたい場合はWriteLineが便利です。

C#
// Write は改行しない、WriteLine は改行する
Console.Write("A");           // 改行なし
Console.Write("B");           // 改行なし
Console.WriteLine("C");       // ここで改行
Console.WriteLine("D");       // 1行表示して改行
実行結果
ABC
D

以下の表は違いの要点です。

メソッド自動改行主な用途
Console.WriteLineあり1行ずつ結果を並べる、ログ出力
Console.Writeなし横に続けたいとき、プログレス表示など

改行の有無を意識するだけで、見やすい出力になります

改行やタブ(\n, \t)の使い方

文字列中で特殊な制御文字を使うと、行や列を整形できます

代表的なのは\n(改行)と\t(タブ)です。

C#
// \n で改行、\t でタブ区切り
Console.WriteLine("1\t2\t3");
Console.WriteLine("A\tB\tC");
Console.WriteLine("上段\n下段"); // 「上段」の次の行に「下段」を表示
実行結果
1   2   3
A   B   C
上段
下段

環境によって改行コードは異なりますが、C#では\nで問題なく扱えます

クオート記号を出力する(“)

文字列を囲むダブルクオートそのものを表示したいときは、バックスラッシュでエスケープして"と書きます

C#
// ダブルクオートを文字として出したい場合は \" を使う
Console.WriteLine("He said \"Hello\" to me.");

// @ を使う逐語的文字列なら "" と2つ重ねる(応用)
Console.WriteLine(@"He said ""Hello"" to me.");
実行結果
He said "Hello" to me.
He said "Hello" to me.

空行を出力する(引数なし)

Console.WriteLine()を引数なしで呼ぶと、空行(改行だけ)を出力できます

出力の区切りや余白づくりに便利です。

C#
Console.WriteLine("section 1");
Console.WriteLine();           // 空行を1つ入れる
Console.WriteLine("section 2");
実行結果
section 1

section 2

よくあるつまずき(初心者向け)

Consoleが見つからない時(using System)

Consoleが解決できないエラーはusing System;の不足が原因であることが多いです

ソースの先頭に追記するか、完全修飾名を使います。

C#
// どちらかの方法で解消できる

// 方法1: using を先頭に書く
using System;

Console.WriteLine("OK");

// 方法2: 完全修飾名を使う(using 不要)
System.Console.WriteLine("OK (fully qualified)");
実行結果
OK
OK (fully qualified)

.NET 6以降のテンプレートでは「暗黙の using」が有効な場合もありますが、プロジェクト設定次第なので明示しておくと安心です

日本語が文字化けする時(出力エンコーディング)

Windowsのコンソールなどでは、デフォルトの文字コードがUTF-8でないため日本語が文字化けすることがあります

Console.OutputEncodingをUTF-8に設定すると解決しやすいです。

C#
// 日本語出力の文字化け対策: UTF-8 を明示
using System.Text;

Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine("こんにちは 世界");     // 正しく表示される可能性が高い
実行結果
こんにちは 世界

Windowsの旧コンソールでうまくいかない場合は、コマンドプロンプトでchcp 65001を実行してUTF-8に切り替える方法もあります

計算と文字の連結の違いに注意

+は数値なら加算、文字列が含まれると連結になるため、意図しない結果になりがちです

計算結果を表示したいときは括弧で計算を先に行わせます。

C#
int x = 1;
int y = 2;

// 連結の例(意図しない結果)
Console.WriteLine("合計: " + x + y);     // "合計: 12" になる

// 正しい例: () で計算を先に
Console.WriteLine("合計: " + (x + y));   // "合計: 3"

// 参考: 文字列補間を使うと誤りにくい(詳細は別記事)
Console.WriteLine($"合計: {x + y}");
実行結果
合計: 12
合計: 3
合計: 3

演算の優先順位を明示する括弧か、可読性の高い文字列補間を使うと安全です

まとめ

Console.WriteLineは「表示して改行」という最小限ながら強力な機能で、動作確認やログ出力の要になります

書式制御ではWriteとの違いや\n\t"の扱いを押さえ、空行で見やすさを整えると良いでしょう。

環境依存の文字化けはConsole.OutputEncoding = Encoding.UTF8;で多くの場合解決できます。

最後に、加算と連結の違いを理解し、括弧や文字列補間で意図を明確にすることで、初心者が陥りやすい出力の混乱を避けられます。

まずは小さな出力から手を動かし、確実に挙動を掴んでいきましょう。

この記事を書いた人
エーテリア編集部
エーテリア編集部

C#の入門記事を中心に、開発環境の準備からオブジェクト指向の基本まで、順を追って解説しています。ゲーム開発や業務アプリを目指す人にも役立ちます。

クラウドSSLサイトシールは安心の証です。

URLをコピーしました!