在C#中,Random類用于生成偽隨機數。以下是Random類的常用方法和用法:
創建Random對象:
Random rand = new Random();
生成隨機整數:
int randomNumber = rand.Next(); // 生成一個非負的隨機整數
int randomNumberInRange = rand.Next(minValue, maxValue); // 生成一個指定范圍內的隨機整數
生成隨機浮點數:
double randomDouble = rand.NextDouble(); // 生成一個位于 [0, 1) 區間的隨機浮點數
double randomDoubleInRange = minValue + (maxValue - minValue) * rand.NextDouble(); // 生成一個指定范圍內的隨機浮點數
生成隨機字節:
byte[] randomBytes = new byte[length];
rand.NextBytes(randomBytes); // 生成指定長度的隨機字節數組
打亂列表的順序:
List<int> list = new List<int>(){1, 2, 3, 4, 5};
list = list.OrderBy(x => rand.Next()).ToList(); // 使用隨機數進行排序,實現列表的隨機排列
請注意,Random類使用系統時間作為種子值,因此在循環中創建Random對象可能會導致生成相同的隨機數序列。為了解決這個問題,可以在啟動應用程序時創建一個Random對象,并在需要隨機數時重復使用它。