簡體   English   中英

如何在c#中的給定范圍之間生成隨機數字序列

[英]How to generate random sequence of numbers between a given range in c#

我想在計時器滴答事件的指定范圍內生成隨機數量的序列。 第一個和下一個隨機數之間的差值應為 0.5 並繼續該模式。

public MainWindow()
{
    InitializeComponent();
    aTimer = new System.Timers.Timer(500);
    aTimer.Elapsed += new ElapsedEventHandler(timer_Tick);
    aTimer.AutoReset = true;

}

Random random = new Random();

private void timer_Tick(object sender, ElapsedEventArgs e)
{
    Dispatcher.Invoke(() => CreatePoint(random.Next(0, 5), random.Next(0, 5)));
}

我能夠生成隨機數,但如何指定兩個隨機數之間的距離?

只需使用隨機生成 -0.5 到 0.5 的值並將其添加到以前的值。 通過重用您的代碼的一部分,這是您可以執行的示例修改

Random random = new Random();
double currentX = 0d;
double currentY = 0d;

private void timer_Tick(object sender, ElapsedEventArgs e)
{       
    // add the random modifier between -0.5 and 0.5 to each x/y values
    currentX += GetRandomModifier();
    currentY += GetRandomModifier();
}

private double GetRandomModifier()
{
    // generate a number between -0.5 and 0.5
    return random.Next(-50, 50) / 100d;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM