Hvordan genererer jeg et tilfældigt int-nummer?

Hvordan genererer jeg et tilfældigt heltal i C#?

Løsning

Klassen Random bruges til at skabe tilfældige tal. (Pseudo-tilfældig er det selvfølgelig.).

Eksempel:

Random rnd = new Random();
int month  = rnd.Next(1, 13);  // creates a number between 1 and 12
int dice   = rnd.Next(1, 7);   // creates a number between 1 and 6
int card   = rnd.Next(52);     // creates a number between 0 and 51

Hvis du vil oprette mere end ét tilfældigt tal, bør du beholde instansen Random og genbruge den. Hvis du opretter nye instanser for tæt på hinanden i tid, vil de producere den samme serie af tilfældige tal, da tilfældighedsgeneratoren er seedet fra systemuret.

Kommentarer (7)

Vær opmærksom på, at new Random() er sat på det aktuelle tidsstempel.

Hvis du ønsker at generere kun ét tal kan du bruge:

Hvis du vil bruge et enkelt nummer, skal du bruge new Random().Next( int.MinValue, int.MaxValue ).

Du kan få flere oplysninger ved at se på Random klassen, men bemærk venligst:

Men fordi uret har en endelig opløsning, skaber brugen af den parameterløse konstruktør til at skabe forskellige Random-objekter i tæt forlængelse af hinanden tilfældige talgeneratorer, der producerer identiske sekvenser af tilfældige tal

Så du må ikke bruge denne kode til at generere en serie af tilfældige tal.

Kommentarer (3)
Random r = new Random();
int n = r.Next();
Kommentarer (0)