Console.WriteLine() / Console.Write()
| 対応: | C# 1.0(2002) |
|---|
コンソールにテキストを出力する『Console.WriteLine()』と『Console.Write()』です。デバッグや学習用のプログラムで頻繁に使用します。
構文
// テキストを出力して改行します Console.WriteLine(value) Console.WriteLine(string format, params object[] args) // テキストを出力して改行しません Console.Write(value) Console.Write(string format, params object[] args)
メソッド一覧
| メソッド | 概要 |
|---|---|
| Console.WriteLine(value) | 値を文字列に変換して出力し、末尾に改行を付けます。引数なしで呼ぶと空行を出力します。 |
| Console.Write(value) | 値を出力しますが改行しません。連続して横並びに出力したい場合に使います。 |
| Console.WriteLine(format, arg0, arg1) | 書式文字列({0}, {1})を使って値を埋め込んで出力します。 |
| Console.ForegroundColor | 出力テキストの文字色を設定します(ConsoleColor 列挙型を指定)。 |
| Console.ResetColor() | 文字色・背景色を既定に戻します。 |
サンプルコード
Program.cs
using System;
// 基本的な出力
Console.WriteLine("Hello, World!");
Console.WriteLine(42);
Console.WriteLine(3.14);
Console.WriteLine(true);
// Write() は改行しない
Console.Write("名前: ");
Console.Write("五条悟");
Console.WriteLine(" さん"); // ここで改行
// 書式文字列で値を埋め込む
string name = "虎杖悠仁";
int age = 15;
Console.WriteLine("{0} は {1} 歳です。", name, age);
// 文字列補間($"...")で直感的に書く
Console.WriteLine($"{name} は {age} 歳です。");
コンパイルして実行すると次のようになります。
dotnet run Hello, World! 42 3.14 True 名前: 五条悟 さん 虎杖悠仁 は 15 歳です。 虎杖悠仁 は 15 歳です。
書式指定
数値・日付・パーセントなどを整形して出力できます。
FormatSample.cs
using System;
double price = 1234.5;
Console.WriteLine($"価格: {price:N0} 円"); // カンマ区切り整数
Console.WriteLine($"率: {0.756:P1}"); // パーセント(小数1桁)
Console.WriteLine($"日付: {DateTime.Now:yyyy/MM/dd}");
Console.WriteLine($"固定小数: {price:F2}"); // 小数2桁
Console.WriteLine($"16進数: {255:X}"); // 16進数
コンパイルして実行すると次のようになります。
dotnet run 価格: 1,234 円 率: 75.6% 日付: 2026/03/31 固定小数: 1234.50 16進数: FF
文字色の変更
『Console.ForegroundColor』でテキストの色を変更できます。使用後は『Console.ResetColor()』で既定色に戻します。
ColorOutput.cs
using System;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("エラーメッセージ(赤色)");
Console.ResetColor();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("成功メッセージ(緑色)");
Console.ResetColor();
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("警告メッセージ(黄色)");
Console.ResetColor();
Console.WriteLine("通常の色に戻りました。");
コンパイルして実行すると次のようになります。
dotnet run エラーメッセージ(赤色) 成功メッセージ(緑色) 警告メッセージ(黄色) 通常の色に戻りました。
よくあるミス
よくあるミス: Write() で改行を忘れる
『Console.Write()』の後に『Console.WriteLine()』や『"\n"』で改行を入れないと、次の出力が同じ行に続いてしまいます。
using System;
// NG: Write() の後に改行がないと次の出力がつながる
Console.Write("処理中...");
Console.WriteLine("完了"); // 「処理中...完了」と1行に出力される
修正後は次の通りです。
dotnet run 処理中...完了
修正後は次の通りです。
using System;
// OK: Write() の後に改行を入れる(意図的に同じ行にしたい場合は別)
Console.Write("処理中...");
Console.WriteLine(); // 改行だけ出力
Console.WriteLine("完了");
修正後は次の通りです。
dotnet run 処理中... 完了
概要
『Console.WriteLine()』はC#で最もよく使う出力メソッドです。文字列補間($"...")を使うと変数をそのまま埋め込めるため、書式文字列({0})よりも読みやすいコードになります。
数値の書式指定は :N0(カンマ区切り整数)、:F2(小数2桁)、:P1(パーセント1桁)などが便利です。詳細な書式記号は.NETの書式文字列仕様を参照してください。
コンソールからの入力受け取りは『Console.ReadLine() / Console.ReadKey()』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。