より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

C#で開発するコンソールの文字色の変更。Macではどうなる?

コンソールの文字色を変更する

Console.ForegroundColorを用います。

ポイントとしては、「 Console.ResetColor();」で最後に色を戻してあげることです。

一度、青にしてしまうと、そのまま青のままです。

using System;

namespace ConsoleDotNetCore
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("緑です。");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("青です。");
            Console.ResetColor();
        }
    }
}

これだけなら、Googleで他の記事を見ればわかる話なので、Macではどうなるんだろうと試してみました。

.Net Coreならば、Macでも動くコンソールアプリケーションが開発できるわけなのですが。

f:id:rimever:20190228140759p:plain

あれ? 青のはずが紫になってしまいました。

ConsoleColor[] Colors // すべての色を列挙
      = (ConsoleColor[])Enum.GetValues(typeof(ConsoleColor));

    foreach (ConsoleColor bg in Colors) {
        Console.ForegroundColor = fg;
        Console.Write(fg);
    }
    Console.ResetColor();
    Console.WriteLine();

f:id:rimever:20190228141317p:plain
Macの場合

f:id:rimever:20190228142026p:plain
Windowsの場合