Liczby pseudolosowe

0

Witam, nie wiem czy był już taki temat, ja przynajmniej się nie dokopałem dla tego zakładam nowy temat. Uczę się języka C# od jakiegoś czasu. Cieszę się że język zawiera wiele udogodnień jak np. klasa Random, ale ze względu na moją ciekawskość nurtuje mnie jedna rzecz, a mianowicie jak działa ta klasa. Jest możliwość podejrzenia jak wyglądają metody których używa ta klasa? Tzn. mam na myśli gdyby nie było klasy Random (zakładamy że nie można jej użyć) w jaki sposób uzyskać liczby pseudolosowe tak jak np. poprzez rnd.Next()? Jak wyglądałby taki kod?

2

Jest on zależny przede wszystkim od czasu.

Tutaj masz source cod
https://referencesource.microsoft.com/#mscorlib/system/random.cs,92e3cf6e56571d5a,references

1

Tu jest nowsza wersja pod .NET Cora gdzie zmienili sposób w jaki jest tworzony domyślny seed

https://github.com/dotnet/runtime/blob/4f9ae42d861fcb4be2fcd5d3d55d5f227d30e723/src/libraries/System.Private.CoreLib/src/System/Random.cs

różnice widać tu:

old

public Random() : this(Environment.TickCount) 
{
}

new

public Random()  : this(GenerateSeed())
{
}
0

Dziękuję za pomoc 🙂

1 użytkowników online, w tym zalogowanych: 0, gości: 1