[C#] コンソール出力で文字色を変更する方法
C#でコンソール出力の文字色を変更するには、Consoleクラス
のForegroundColor
プロパティを使用します。
例えば、文字色を赤に変更するには、Console.ForegroundColor = ConsoleColor.Red;
とします。
文字色を元に戻すには、Console.ResetColor();
を使用します。
これにより、コンソールのデフォルトの文字色に戻ります。
ConsoleColor
には、赤、青、緑などの基本的な色が定義されており、これらを使って簡単に文字色を変更できます。
文字色を変更する方法
Console.ForegroundColorプロパティの使い方
C#のコンソールアプリケーションで文字色を変更するには、Console.ForegroundColor
プロパティを使用します。
このプロパティは、コンソールに出力される文字の色を設定するために使われます。
以下に基本的な使い方を示します。
using System;
class Program
{
static void Main()
{
// 文字色を赤に設定
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("これは赤色の文字です");
// 文字色を青に設定
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("これは青色の文字です");
// 文字色を元に戻す
Console.ResetColor();
Console.WriteLine("これはデフォルトの文字色です");
}
}

このコードでは、Console.ForegroundColor
を使って文字色を赤と青に変更し、最後にConsole.ResetColor
でデフォルトの色に戻しています。
ConsoleColor列挙体の色一覧
Console.ForegroundColor
プロパティで使用できる色は、ConsoleColor
列挙体によって定義されています。
以下の表に、利用可能な色を示します。
色名 | 説明 |
---|---|
Black | 黒色 |
DarkBlue | 暗い青色 |
DarkGreen | 暗い緑色 |
DarkCyan | 暗いシアン色 |
DarkRed | 暗い赤色 |
DarkMagenta | 暗いマゼンタ色 |
DarkYellow | 暗い黄色 |
Gray | 灰色 |
DarkGray | 暗い灰色 |
Blue | 青色 |
Green | 緑色 |
Cyan | シアン色 |
Red | 赤色 |
Magenta | マゼンタ色 |
Yellow | 黄色 |
White | 白色 |
これらの色をConsole.ForegroundColor
に設定することで、コンソールに出力される文字の色を変更できます。
文字色を元に戻す方法
文字色を変更した後、元の色に戻したい場合は、Console.ResetColorメソッド
を使用します。
このメソッドは、文字色と背景色の両方をデフォルトの設定に戻します。
using System;
class Program
{
static void Main()
{
// 文字色を緑に設定
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("これは緑色の文字です");
// 文字色を元に戻す
Console.ResetColor();
Console.WriteLine("これはデフォルトの文字色です");
}
}

このコードでは、Console.ForegroundColor
を緑色に設定した後、Console.ResetColor
を呼び出してデフォルトの色に戻しています。
これにより、次に出力される文字はデフォルトの色で表示されます。
具体的な使用例
単一の文字色を変更する例
単一の文字色を変更する基本的な例を示します。
ここでは、コンソールに出力するすべての文字を赤色に設定します。
using System;
class Program
{
static void Main()
{
// 文字色を赤に設定
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("これはすべて赤色の文字です");
// 文字色を元に戻す
Console.ResetColor();
}
}

この例では、Console.ForegroundColor
を赤色に設定し、すべての出力が赤色で表示されます。
最後にConsole.ResetColor
で色を元に戻しています。
複数の文字色を使った例
複数の文字色を使って、異なるメッセージを異なる色で表示する例を示します。
using System;
class Program
{
static void Main()
{
// 文字色を緑に設定
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("これは緑色のメッセージです");
// 文字色を黄色に設定
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("これは黄色のメッセージです");
// 文字色を青に設定
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("これは青色のメッセージです");
// 文字色を元に戻す
Console.ResetColor();
}
}

この例では、Console.ForegroundColor
を使って、緑、黄色、青の順に文字色を変更し、それぞれのメッセージを異なる色で表示しています。
条件に応じた文字色の変更
条件に応じて文字色を変更する例を示します。
ここでは、数値が正か負かによって文字色を変えます。
using System;
class Program
{
static void Main()
{
int number = -5; // 数値を設定
if (number > 0)
{
// 数値が正の場合、文字色を緑に設定
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("数値は正です: " + number);
}
else if (number < 0)
{
// 数値が負の場合、文字色を赤に設定
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("数値は負です: " + number);
}
else
{
// 数値がゼロの場合、文字色を黄色に設定
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("数値はゼロです: " + number);
}
// 文字色を元に戻す
Console.ResetColor();
}
}
数値は負です: -5
この例では、変数number
の値に応じて、文字色を緑、赤、または黄色に変更しています。
条件分岐を使って、数値の状態に応じた色でメッセージを表示します。
応用例
背景色の変更方法
コンソールの背景色を変更するには、Console.BackgroundColor
プロパティを使用します。
これにより、コンソール全体の背景色を設定できます。
以下に背景色を変更する例を示します。
using System;
class Program
{
static void Main()
{
// 背景色を青に設定
Console.BackgroundColor = ConsoleColor.Blue;
// 文字色を白に設定
Console.ForegroundColor = ConsoleColor.White;
Console.Clear(); // 背景色を適用するためにコンソールをクリア
Console.WriteLine("これは青い背景に白い文字です");
// 背景色と文字色を元に戻す
Console.ResetColor();
Console.Clear(); // 元の色に戻すためにコンソールをクリア
}
}

この例では、Console.BackgroundColor
を青に設定し、Console.Clear
を呼び出して背景色を適用しています。
文字色も白に設定して、視認性を高めています。
カスタムメソッドで色を管理する
色の設定をカスタムメソッドで管理することで、コードの再利用性を高めることができます。
以下に、色を設定するカスタムメソッドを作成する例を示します。
using System;
class Program
{
static void Main()
{
PrintColoredMessage("これは緑色のメッセージです", ConsoleColor.Green);
PrintColoredMessage("これは赤色のメッセージです", ConsoleColor.Red);
PrintColoredMessage("これは黄色のメッセージです", ConsoleColor.Yellow);
}
static void PrintColoredMessage(string message, ConsoleColor color)
{
// 指定された文字色を設定
Console.ForegroundColor = color;
Console.WriteLine(message);
// 文字色を元に戻す
Console.ResetColor();
}
}

この例では、PrintColoredMessageメソッド
を作成し、メッセージと色を引数として受け取ります。
これにより、異なる色のメッセージを簡単に出力できます。
色を使ったデバッグの工夫
デバッグ時に色を使うことで、重要な情報を視覚的に強調することができます。
以下に、デバッグ情報を色分けして表示する例を示します。
using System;
class Program
{
static void Main()
{
DebugMessage("情報: プログラムが開始されました", ConsoleColor.Cyan);
DebugMessage("警告: メモリ使用量が高いです", ConsoleColor.Yellow);
DebugMessage("エラー: ファイルが見つかりません", ConsoleColor.Red);
}
static void DebugMessage(string message, ConsoleColor color)
{
// 指定された文字色を設定
Console.ForegroundColor = color;
Console.WriteLine(message);
// 文字色を元に戻す
Console.ResetColor();
}
}
情報: プログラムが開始されました
警告: メモリ使用量が高いです
エラー: ファイルが見つかりません

この例では、DebugMessageメソッド
を使用して、情報、警告、エラーのメッセージをそれぞれ異なる色で表示しています。
これにより、デバッグ時に重要なメッセージをすばやく識別できます。
まとめ
この記事では、C#のコンソールアプリケーションにおける文字色の変更方法について詳しく解説しました。
Console.ForegroundColor
プロパティを用いた基本的な色の設定から、ConsoleColor
列挙体による色の選択、さらに背景色の変更やカスタムメソッドを使った色の管理、デバッグ時の色の活用法まで、多岐にわたる応用例を紹介しました。
これらの知識を活用して、より視覚的にわかりやすいコンソールアプリケーションを作成してみてください。