Rastgele bir int numarasını nasıl oluşturabilirim?

C#'ta nasıl rastgele bir tamsayı oluşturabilirim?

Çözüm

Rastgele sayılar oluşturmak için Random sınıfı kullanılır. (Tabii ki sözde rastgele.).

Örnek:

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

Birden fazla rastgele sayı oluşturacaksanız, Random örneğini saklamalı ve yeniden kullanmalısınız. Çok yakın zamanlarda yeni örnekler oluşturursanız, rastgele üreteç sistem saatinden tohumlandığı için aynı rastgele sayı serisini üreteceklerdir.

Yorumlar (7)

Yeni Random()`un geçerli zaman damgasına göre tohumlandığına dikkat edin.

Eğer sadece bir sayı üretmek istiyorsanız kullanabilirsiniz:

new Random().Next( int.MinValue, int.MaxValue )

Daha fazla bilgi için Random sınıfına bakın, ancak lütfen unutmayın:

Bununla birlikte, saatin sonlu çözünürlüğü olduğundan, farklı Random nesnelerini yakın aralıklarla oluşturmak için parametresiz kurucuyu kullanmak, aynı rastgele sayı dizilerini üreten rastgele sayı üreteçleri oluşturur

Bu yüzden bu kodu bir dizi rastgele sayı üretmek için kullanmayın.

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