C# 获取一定区间的随即数 0、1两个值除随机数以外的取值方法(0、1两个值被取值的概率相等)

获取随机数

举例:0-9

1
2
Random random = new Random();  
int j = random.Next(0, 9);

0、1两个值被取值的概率相等

1
2
3
4
5
6
7
8
9
int a = Math.Abs(Guid.NewGuid().GetHashCode()) % 2;  
if (a == 0)
{

}
else if(a==1)
{

}
1
2
3
4
5
6
7
8
9
/// <summary>  
/// 获取等概率的小于最大数的非负随机数
/// </summary>
/// <param name="n">最大数</param>
/// <returns></returns>
public static int Estimate(int n)
{
return Math.Abs(Guid.NewGuid().GetHashCode()) % n;
}
0%