5.00 / 1 oy

C# Random Sınıfı Kullanımı ve Örnekleri

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

mbologlu

18.05.2021 01:32

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# Random Sınıfı Kullanımı ve Örnekleri

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.