using System;
using System.Security.Cryptography;
namespace WpfApp
{
class RandomX
{
/// <summary>
/// 生成随机数
/// </summary>
/// <param name="factor">随机数种类</param>
/// <param name="count">个数</param>
/// <param name="min">最小值</param>
/// <param name="max">最大值</param>
/// <returns></returns>
public static int[] GetRandom(int factor, int count, int min, int max)
{
int[] result = new int[count];
byte[] bran = new byte[count];
if (factor == 0)
{
Random ran = new Random();
for (int i = 0; i < result.Length; i++ )
{
result[i] = ran.Next(min, max);
}
}
else if (factor == 1)
{
Random ran = new Random();
ran.NextBytes(bran);
for (int i = 0; i < result.Length; i++)
{
result[i] = Convert.ToInt32(Convert.ToDouble(bran[i]) / 255 * (max - min) + min);
}
}
else
{
RNGCryptoServiceProvider ran = new RNGCryptoServiceProvider();
ran.GetBytes(bran);
for (int i = 0; i < result.Length; i++)
{
result[i] = Convert.ToInt32(Convert.ToDouble(bran[i]) / 255 * (max - min) + min);
}
}
return result;
}
}
}
如需转载请注明出处:http://blog.youkuaiyun.com/danding_ge/article/details/17916809