c#中random的用法是什么

c#
小億
154
2024-01-22 15:51:28

在C#中,Random類用于生成偽隨機(jī)數(shù)。以下是Random類的常用方法和用法:

  1. 創(chuàng)建Random對(duì)象:

    Random rand = new Random();
    
  2. 生成隨機(jī)整數(shù):

    int randomNumber = rand.Next(); // 生成一個(gè)非負(fù)的隨機(jī)整數(shù)
    int randomNumberInRange = rand.Next(minValue, maxValue); // 生成一個(gè)指定范圍內(nèi)的隨機(jī)整數(shù)
    
  3. 生成隨機(jī)浮點(diǎn)數(shù):

    double randomDouble = rand.NextDouble(); // 生成一個(gè)位于 [0, 1) 區(qū)間的隨機(jī)浮點(diǎn)數(shù)
    double randomDoubleInRange = minValue + (maxValue - minValue) * rand.NextDouble(); // 生成一個(gè)指定范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù)
    
  4. 生成隨機(jī)字節(jié):

    byte[] randomBytes = new byte[length];
    rand.NextBytes(randomBytes); // 生成指定長(zhǎng)度的隨機(jī)字節(jié)數(shù)組
    
  5. 打亂列表的順序:

    List<int> list = new List<int>(){1, 2, 3, 4, 5};
    list = list.OrderBy(x => rand.Next()).ToList(); // 使用隨機(jī)數(shù)進(jìn)行排序,實(shí)現(xiàn)列表的隨機(jī)排列
    

請(qǐng)注意,Random類使用系統(tǒng)時(shí)間作為種子值,因此在循環(huán)中創(chuàng)建Random對(duì)象可能會(huì)導(dǎo)致生成相同的隨機(jī)數(shù)序列。為了解決這個(gè)問題,可以在啟動(dòng)應(yīng)用程序時(shí)創(chuàng)建一個(gè)Random對(duì)象,并在需要隨機(jī)數(shù)時(shí)重復(fù)使用它。

0