Random.Shared.Next
是 .NET 6 引入的一個新特性,它提供了一個執行緒安全的隨機數生成器。這意味著你可以在多執行緒環境中使用它,而不需要擔心執行緒安全問題,如種子被意外修改等。
Random.Shared.Next
的使用方式如下:
int r1 = Random.Shared.Next();
// 在0到int
上限中隨機。int r2 = Random.Shared.Next(10);
// 從0到這個值之間隨機,不會取到上限值。int r3 = Random.Shared.Next(20, 30);
// 從20到30之間隨機,不會取到30。double d1 = Random.Shared.NextDouble();
// 獲取一個0到1之間的小數,永遠不會取到1。
Random.Shared
的實現類似於建立兩個 Random
物件的解決方法,但是它是從 CLR 的底層實現的,比前面的實現方式更加高效。Random.Shared
的實現也是類似於上面的 ThreadStatic
的解法,但是是從 CLR 的底層去實現的,會比上面的實現方式更為高效。
總的來說,Random.Shared.Next
提供了一個簡單且高效的方式來在多執行緒環境中生成隨機數,無需擔心執行緒安全問題。