【C#】コンソールアプリでランダムな数字を生成するサンプル

Random クラスは、C#でランダムな数値を生成するために使用されます。ここでは、その基本的な使い方をシンプルに解説します。

1. インスタンスの作成

Random クラスを使用するためには、まずそのインスタンスを作成する必要があります。これにより、ランダムな数値を生成する準備が整います。

Random random = new Random();

2. ランダムな整数の生成

Next メソッドを使用して、ランダムな整数を生成できます。Next メソッドには、以下の3つのオーバーロードがあります。

  • Next(): 0 から Int32.MaxValue までのランダムな整数を生成します。
  • Next(int maxValue): 0 から maxValue-1 までのランダムな整数を生成します。
  • Next(int minValue, int maxValue)minValue から maxValue-1 までのランダムな整数を生成します。

int randomNumber1 = random.Next();          // 0 から Int32.MaxValue まで
int randomNumber2 = random.Next(100);       // 0 から 99 まで
int randomNumber3 = random.Next(50, 100);   // 50 から 99 まで

3. ランダムな浮動小数点数の生成

NextDouble メソッドを使用して、0.0 から 1.0 までのランダムな浮動小数点数を生成できます。

double randomDouble = random.NextDouble();  // 0.0 から 1.0 まで

4. ランダムな文字列の生成

ランダムな文字列を生成するためには、Random クラスと文字列の操作を組み合わせる必要があります。例えば、指定した文字からランダムに選択して文字列を作成します。

string GenerateRandomString(int length)
{
    const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    char[] stringChars = new char[length];

    for (int i = 0; i < length; i++)
    {
        stringChars[i] = chars[random.Next(chars.Length)];
    }

    return new string(stringChars);
}

サンプルプログラム

以下は、上記の内容をまとめたシンプルなサンプルプログラムです。

using System;

namespace RandomExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Random random = new Random();

            // ランダムな整数を生成
            int randomNumber1 = random.Next();
            int randomNumber2 = random.Next(100);
            int randomNumber3 = random.Next(50, 100);
            Console.WriteLine("Random Integer 1: " + randomNumber1);
            Console.WriteLine("Random Integer 2: " + randomNumber2);
            Console.WriteLine("Random Integer 3: " + randomNumber3);

            // ランダムな浮動小数点数を生成
            double randomDouble = random.NextDouble();
            Console.WriteLine("Random Double: " + randomDouble);

            // ランダムな文字列を生成
            string randomString = GenerateRandomString(10);
            Console.WriteLine("Random String: " + randomString);
        }

        static string GenerateRandomString(int length)
        {
            const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            Random random = new Random();
            char[] stringChars = new char[length];

            for (int i = 0; i < length; i++)
            {
                stringChars[i] = chars[random.Next(chars.Length)];
            }

            return new string(stringChars);
        }
    }
}

このプログラムを実行すると、ランダムな整数、浮動小数点数、そして文字列が生成され、コンソールに表示されます。

以上が、Random クラスのシンプルな解説です。このクラスを使って、さまざまなランダムな値を生成することができます。

実行結果の例

Random Integer 1: 1376572336
Random Integer 2: 87
Random Integer 3: 74
Random Double: 0.726346243653
Random String: Z6F1K3G8A2

各出力の説明

  • Random Integer 1random.Next() によって生成された 0 から Int32.MaxValue までのランダムな整数。例では 1376572336 。
  • Random Integer 2random.Next(100) によって生成された 0 から 99 までのランダムな整数。例では 87 。
  • Random Integer 3random.Next(50, 100) によって生成された 50 から 99 までのランダムな整数。例では 74 。
  • Random Doublerandom.NextDouble() によって生成された 0.0 から 1.0 までのランダムな浮動小数点数。例では 0.726346243653 。
  • Random StringGenerateRandomString(10) メソッドによって生成された長さ 10 のランダムな文字列。例では Z6F1K3G8A2 。

このように、Random クラスを使用することで、さまざまな範囲や形式のランダムな値を簡単に生成することができます。

C#

Posted by hidepon