簡體   English   中英

C#System.Random Next出來排序

[英]C# System.Random Next comes out sorted

我正在嘗試從數組訪問隨機元素,但是我正在使用的Random生成器繼續按如下順序給我編號:

有序隨機

這些數字將始終按順序顯示,永遠不會完全隨機(即,下一個數字始終會更大,直到達到最大值,然后再從低數字開始)。 這也可以是遞增的或遞減的。

我正在使用種子隨機對象和Random.Next(-100,100)。 這與MSDN Random上演示的行為不同。 下一頁

我能想到的是,與Unity打包在一起的.Net版本沒有最新的Random? 有什么解決方案可以解決這種混亂嗎?

//Example
//Seed and ods set before the Awake method is called
public int seed;
public GameObject[] pathPartOds;

Random random;
GameObject[] path;

void Awake () 
{
    random = new Random (seed);
}

void CreatePath (int length) 
{
    path = new GameObject[length];

    for (int i = 0; i < length; i++)
        path[i] = pathPartOds[random.Next (0, pathPartOds.length)];
}

使用了多個種子,它們都給出相同的結果,而我一直在使用隨機整數創建種子

您需要創建的實例Random 一次 ,以及傳遞作為參數傳入你的函數繪制一個隨機數。

否則,由於生成器以系統 (即非隨機)方式進行播種,因此會破壞生成器的統計屬性。 這就解釋了輸出的分段單調性。

暫無
暫無

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

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