入出力

[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列挙体による色の選択、さらに背景色の変更やカスタムメソッドを使った色の管理、デバッグ時の色の活用法まで、多岐にわたる応用例を紹介しました。

これらの知識を活用して、より視覚的にわかりやすいコンソールアプリケーションを作成してみてください。

関連記事

Back to top button
目次へ