arşiv

yazılar buna göre etiketlendi; ‘c sharp’

C Sharp ile Random Sayı Dizisi Üretmek

Cumartesi, 21 Oca 2012 yorum yok

Sadece bir tane random sayı üretmek istiyorsanız:

 Random random = new Random();
int randomNumber = random.Next(1,100);

Yukarıdaki kod 1 ile 100 arasında random(!) bir sayı üretecektir. Fakat, birden daha fazla sayıda random sayı üretmek istiyorsanız, basitçe bir döngü kurmak yetmiyor. Çünkü hep aynı sayıyı üretiyor. Bu noktada random olmasınında pek bir esprisi kalmıyor. Aşağıda yukarıdaki koda basit bir döngü eklenmiş kod ve kodun çıktısı gösterilmiştir.

 for (int i = 0;i!=10;i++)
{
Random random = new Random();
int randomNumber = random.Next(1, 100);
Console.WriteLine(randomNumber.ToString());
}

Peki random bir sayı dizisi üretmek istediğimizde ne yapmamız gerekir? 

Bir seed değerinin kullanılması gerekir. Bu seed değeri random sayı üretilmesi için besleme değeridir. Kod parçası çalıştığı anda sistem saatinin milisaniye değerini seed değeri olarak aldım. Başka bir değerde alınabilir. Keyfi bir değer bu. Fakat şuan aklıma gelen ve genelde kullanılan seed değeri bu tip bir değerdir. Sonra döngünün içinde her oluşturulan random sayı yeni seed değeri olarak atanmıştır. Yani oluşturulan random sayı kendisinden sonra oluşturulacak random sayının besleme değeridir…

            int seed = DateTime.Now.Millisecond;
            for (int i = 0; i != 10; i++)
            {
                Random random = new Random(seed);
                seed = random.Next(1,100);
                Console.WriteLine(seed.ToString());
            }