4

コンソールのテキストの色を設定する方法を知っています

Console.ForegroundColor = ConsoleColor.Cyan;

誰かがそれをランダム化する方法を考えられますか? 完全にランダムである必要はありませんが、違いは役に立ちます。

4

6 に答える 6

8
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 列挙からランダムな値を選択することです。

于 2013-07-03T19:46:10.293 に答える
1

(ConsoleColor)(new Random()).Next(0,15)ConsoleColor オブジェクトを返すことができ ます。

これは、0 から 15 (色の量) までの乱数を ConsoleColor 列挙型インスタンスにキャストすることで、ForegroundColor または BackgroundColor に直接渡すことができます。

于 2016-11-14T17:58:29.470 に答える
0
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);
}
于 2013-07-03T19:47:43.730 に答える
0

これにより、ランダムな色が選択されます。のインスタンス で_randomあることに注意してください。Random

Console.ForegroundColor = (ConsoleColor)_random.Next(15);
于 2018-04-14T07:49:58.373 に答える