Random sayı üretmek

by vincenzo 12. Mayıs 2009 19:15

 

 

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.

Tags:

İpuçları

Yorumlar

19.07.2010 12:48:20 #

Walter

sagabindara salutes you all out there

Walter Germany | Reply

Yorum ekle




  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading



Son Yorumlar

Comment RSS

INETA User Group

Yazılım