Random Sürekli Aynı Değeri Döndürüyor | c# Random Hatası

Okunma Sayısı : 67
Yayınlanma Tarihi : Çarşamba , 9 Eylül , 2020
C# üzerinde Random kullanırken eğer random sınıfını bir döngü içerisinde kullanırsanız aynı değerlerin döndüğünü görebilirsiniz. Bu hatanın çözümünü birlikte inceleyelim. Öncelikle basit bir for döngüsü oluşturarak 10 adet random sayının ekrana alt alta yazdırılmasını sağlayalım.
for (int i = 0; i &< 10; i++)
{Random rnd = new Random();
int my = rnd.Next(0,10000);
Response.Write(my);
Response.Write("");
}

Yukarıdaki kodlarımızın ekran çıktısı şekildeki gibi olacaktır. Ama biz bunu istemiyoruz. Çünkü random değerler sürekli aynı ifadeleri almış durumda. Bunun en temel sebebi random sınıfını static olarak kullanmamızdan kaynaklanıyor.

icerik


Çözüm olarak aşağıdaki kodları inceleyelim. Random sınıfını static olarak en üstte belirleyip tekrar kullanalım ve ekran çıktısını kontrol edelim.
private static Random getrandom = new Random();
for (int i = 0; i &< 10; i++)
{
int my = getrandom.Next(0, 10000);
Response.Write(my);
Response.Write("");
}

Yukarıdaki revize edilmiş random kodlarımızın ekran çıktısı aşağıdaki gibi olacaktır.

icerik


Evet sadede gelirsek bu yazıda birden fazla random kullanımını tanımlanan aynı random sınıfıyla kullanmak istendiğinde sürekli aynı değerlerin döneceğini öğrenmiş olduk. 

Saygı ve sevgilerimle :)