C#の乱数を生成するサンプルです。
RandomクラスのNextメソッドを使用します。
確認環境 ・Microsoft Visual Studio Community 2017 |
目次
サンプル | RandomクラスのNextメソッド |
配列の値をランダムに表示する |
RandomクラスのNextメソッド
public virtual int Next (int minValue, int maxValue); |
- 乱数を返します。整数を返します。
- 1つめの引数は、生成される乱数の最小値を指定します。
- 2つめの引数は、生成される乱数の最大値+1を指定します。最大値を2としたい場合は、3を指定します。
- 最小値が最大値より大きい時は、エラーを返します。
- 暗号強度が高いランダムな数値を生成するには、RNGCryptoServiceProviderクラスまたはSystem.Security.Cryptography.RandomNumberGeneratorを使用して下さい。
- 以下はMicrosoftのRandomクラスとNextメソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.random?view=netframework-4.8
https://docs.microsoft.com/ja-jp/dotnet/api/system.random.next?view=netframework-4.8#System_Random_Next_System_Int32_System_Int32_
RandomクラスのNextメソッドのサンプルです。
using System;
class Test1
{
static void Main()
{
Random r1 = new System.Random();
Console.WriteLine(r1.Next(0,3));//0から2
Random r2 = new System.Random();
Console.WriteLine(r2.Next(1, 4));//1から3
}
}
8行目は、Nextメソッドで0から2の値をランダムに返します。
13行目は、1から3の値をランダムに返します。
配列の値をランダムに表示する
上記のRandomクラスのNextメソッドを使用して配列の値をランダムに表示するサンプルです。
using System;
class Test1
{
static void Main()
{
string[] a = new string[3] { "赤", "黄", "青" };
Random r1 = new System.Random();
int r2 = r1.Next(0, 3);//0から2
Console.WriteLine(a[r2]);
}
}
6行目は、配列です。
10行目は、乱数を生成し0から2の値をランダムに返します。配列のインデックス値になります。
12行目は、配列の値をランダムに表示します。
関連の記事
C# foreach文のサンプル(break/continue)
C# 配列の仕組みと使い方のサンプル
C# LINQでリストの値を操作するサンプル