Random sayı üretmek

Yağız Gönüler tarafından yayınlanmıştır 26. Kasım 2008 15:35

Websayfamdaki Programlama İpuçları bölümüne başlarken kodların hem vb.net hemde c#.net hallerini yazıyordum. Karar değiştirdim ve projelerimde hangi dili kullanıyorsam onu kodlamaya karar verdim. Neticede online convert sayfalarından diğer dildeki halini de görebilirsiniz. Bunun için özellikle burayı tavsiye ederim. Hepimizin en çok kullandığı kodlardan biri de random sayı üretme kodlarıdır. Random sınıfı kripto işlemleri için yeterli değil. .NET Framework ile birlikte gelen RandomNumberGenerator sınıfından yararlanıp istediğimiz amaçlar işler için rastgele sayılar üretebiliriz. Bu sınıfı kullanabilmek için aşağıdaki satırı namespace olarak eklemeliyiz:

using System.Security.Cryptography;

Şimdi kodlara geçelim. Ben Memik Yanık'ın algoritmasını kullanıyorum projelerimde. Dolayısıyla farklı yerlerde görürseniz şaşırmayın Smile

Aşağıdaki örnekte ilk olarak 10 elemanlı bir byte dizisi hazırlanıyor. Rastgele hazırlamak istediğimiz sayının daha uzun veya kısa olmasını istiyorsak, byte tipindeki dizi değişkenin eleman sayısında değişiklik yapmamız gerekiyor.

Private void Form1_Click(object sender, EventArgs e)
{
byte[] Dizi = new byte[10];
RandomNumberGenerator Sayi;
Sayi = RandomNumberGenerator.Create();
Sayi.GetBytes(Dizi);
string Str="";
for (int i = 0; i < Dizi.Length; i++)
Str = Str + Dizi[i].ToString();
textBox1.Text = Str;
}

Devamında RandomNumberGenerator tipinde bir değişken tanımlayıp Create() metodu ile RandomNumberGenerator nesnesi hazırlanıyor. Bu sınıfın GetBytes() metodu parametre olarak aldığı Byte dizisinin içeriğini rastgele dolduruyor.

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: ,

Programlama İpuçları

Yorumlar



Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.
Sitedeki kod ve tasarım değişiklikleri ise Yağız Gönüler tarafından geliştirilmiştir.
2008 © www.yagizgonuler.com

Paslaş

       

Anket

Mesleğinizden arta kalan zamanınızı nelere harcıyorsunuz?







Sonuçlar

Calendar

<<  Şubat 2012  >>
PaSaÇaPeCuCuPa
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

Yazıları geniş takvimde göster

Ne(ler) Okuyorum?


Ne Dinliyorum?

Zeki Müren - Dediler Zamanla Hep (4 saat önce)
Şükrü Tunar - Rast Taksim (4 saat önce)
Şükrü Tunar - Aydın Zeybeği (4 saat önce)
Şükrü Tunar - Uşşak Çiftetelli (4 saat önce)
Şükrü Tunar - Uşşak Taksim (4 saat önce)
Şükrü Tunar - Anadolu Oyun Havası (4 saat önce)
Şükrü Tunar - Hüzzam Taksim (4 saat önce)
Şükrü Tunar - Hovarda Zeybeği (4 saat önce)
Şükrü Tunar - Uşşak Çiftetelli (4 saat önce)
Şükrü Tunar - Uşşak Taksim (4 saat önce)

İstanbul'da Hava

ISTANBUL

Ziyaretçi Sayısı