diff --git a/src/Numerics/Random/SystemRandomSource.cs b/src/Numerics/Random/SystemRandomSource.cs
index 8ecefc43d..a0fd10383 100644
--- a/src/Numerics/Random/SystemRandomSource.cs
+++ b/src/Numerics/Random/SystemRandomSource.cs
@@ -49,16 +49,26 @@ public class SystemRandomSource : RandomSource
///
/// Construct a new random number generator with a random seed.
///
- public SystemRandomSource() : this(RandomSeed.Robust())
+ public SystemRandomSource()
{
+#if NETCOREAPP
+ _random = new System.Random();
+#else
+ _random = new System.Random(RandomSeed.Robust());
+#endif
}
///
/// Construct a new random number generator with random seed.
///
/// if set to true , the class is thread safe.
- public SystemRandomSource(bool threadSafe) : this(RandomSeed.Robust(), threadSafe)
+ public SystemRandomSource(bool threadSafe) : base(threadSafe)
{
+#if NETCOREAPP
+ _random = new System.Random();
+#else
+ _random = new System.Random(RandomSeed.Robust());
+#endif
}
///
@@ -80,7 +90,7 @@ public SystemRandomSource(int seed, bool threadSafe) : base(threadSafe)
_random = new System.Random(seed);
}
- static readonly ThreadLocal DefaultInstance = new ThreadLocal(() => new SystemRandomSource(RandomSeed.Robust(), true));
+ static readonly ThreadLocal DefaultInstance = new ThreadLocal(() => new SystemRandomSource(true));
///
/// Default instance, thread-safe.