コンソールのテキストの色を設定する方法を知っています
Console.ForegroundColor = ConsoleColor.Cyan;
誰かがそれをランダム化する方法を考えられますか? 完全にランダムである必要はありませんが、違いは役に立ちます。
コンソールのテキストの色を設定する方法を知っています
Console.ForegroundColor = ConsoleColor.Cyan;
誰かがそれをランダム化する方法を考えられますか? 完全にランダムである必要はありませんが、違いは役に立ちます。
private static Random _random = new Random();
private static ConsoleColor GetRandomConsoleColor()
{
var consoleColors = Enum.GetValues(typeof(ConsoleColor));
return (ConsoleColor)consoleColors.GetValue(_random.Next(consoleColors.Length));
}
private static void Main(string[] args)
{
Console.ForegroundColor = GetRandomConsoleColor();
Console.WriteLine("Hello World!");
}
これにアプローチする簡単で効果的な方法は、ConsoleColor 列挙からランダムな値を選択することです。
(ConsoleColor)(new Random()).Next(0,15)
ConsoleColor オブジェクトを返すことができ
ます。
これは、0 から 15 (色の量) までの乱数を ConsoleColor 列挙型インスタンスにキャストすることで、ForegroundColor または BackgroundColor に直接渡すことができます。
ConsoleColor getRandomColor()
{
return (ConsoleColor)(new Random().Next(Enum.GetNames(typeof(ConsoleColor)).Length)
}
編集:私のコメンターが言ったようにnew Random
、新しいランダムな色が必要になるたびに a を作成するべきではありません。Random
代わりに、どこかに保存して、次のように使用する必要があります。
Random rand = new Random();
ConsoleColor getRandomColor()
{
return (ConsoleColor)(rand.Next(Enum.GetNames(typeof(ConsoleColor)).Length);
}
これにより、ランダムな色が選択されます。のインスタンス で_random
あることに注意してください。Random
Console.ForegroundColor = (ConsoleColor)_random.Next(15);