C# Random sınıfının görevi, adından da anlaşılabileceği gibi rastgele sayılar üretilebilmesini sağlamaktır. Özellikle oyunlarda (konsol oyunu ya da C# ile programlanmış Unity gibi oyun motorları oyunlarında) her oyun deneyiminin birbirinden tamamen farklı olabilmesi için Random sınıfı kullanılarak rastgele değerler üretilir.
Random sınıfının en kolay anlaşılan örneği zar atma uygulaması olduğu için yine zar atma uygulamasını kullanarak bir örnek verelim. Zar, 6 adet tamsayı sonucuna sahip rastgele bir olaydır ve bu sonuçlar da sadece 1, 2, 3, 4, 5 ya da 6 olabilir. Zar gibi iki sayı arasında bir tamsayı sonuca sahip olması gereken uygulamalar için Random sınıfının Next metodunu kullanabiliriz.
Random sınıfının Next metodu üç farklı overload'a sahiptir:
Next(): Rastgele pozitif bir tamsayı döndürür
Next(Int32): Parametresinden küçük ve pozitif bir tamsayı döndürür
Next(Int32, Int32): iki parametre ile çalışır ve bu iki değer arasında rastgele bir değer döndürür.
Örnek: 10 adet rastgele zar atan bir döngü yazalım.
Random zar = new Random();
for (int i = 0; i < 10; i++)
{
System.Console.WriteLine(zar.Next(6) + 1);
}
Not: zar.Next(6) 0, 1, 2, 3, 4, 5 tamsayılarından birisini döndürdüğü için 1 eklenmiştir. Alternatif bir uygulama şöyle olabilir:
Random zar = new Random();
for (int i = 0; i < 10; i++)
{
System.Console.WriteLine(zar.Next(1, 7));
}
Önceki benzer yazılarımdan bazıları için;
bkz: C# ile rastgele zar atma uygulaması
bkz: C# ile Rastgele Tarih Üretmek
bkz: C# ile List'ten rastgele eleman seçmek
bkz: C# ile rastgele çift sayı üretme uygulaması
bkz: C# ile rastgele yazı tura atma uygulaması
bkz: C# ile string'in karakterlerini rastgele değiştirmek ve sıralamak