C#随机效果不佳

时间:2016-06-29 18:52:23

标签: c#

我试图制作一个随机项目选择器,随机选择项目3乘3.概率不相等。

frama-c ./ssl/d1_both.c -main dtls1_process_heartbeat -slice-calls memcpy -cpp-command "gcc -C -E -I ./include/ -I ./" -then-on 'Slicing export' -print 

3比3完成的选择总是相同的3次,然后它会改变。

PS:我知道,doContinue事情没有实现。

1 个答案:

答案 0 :(得分:0)

Random对象根据当前的计算机时间自行播种,因此,如果您每次拨打Random时都创建一个新的Pick()对象,那么它将生成相同的数字。 #39;快速连续呼叫。

尝试重用Random实例,如下所示:

class Program
{
    static bool doContinue = true;
    static double[] numbers = { 4, 12, 28, 60, 124, 252, 508, 1020, 2044, 4092, 4120, 4176, 4288, 4512, 4960, 5856, 7648, 11232, 18400, 32736 };
    static Random random = new Random();
    static string Pick()
    {
        double rnd = random.NextDouble() * 32736;
        ...