Özellikle simülasyon çalışmalarında belli bir aralıkta/dağılımda rassal veri üretmek gerekebilmektedir. Konsol uygulamalarında Matlab ya da R gibi yazılımlar daha kullanılabilir çözümler sağlıyor olsa da .NET tabanlı web uygulamalarında da benzerihtiyaçlar doğabilmektedir.
.Net framework'ünde rastgele veri üretimi için en pratik çözüm Random sınıfının kullanılmasıdır. Random sınıfının Next yöntemini kullanarak herhangi bir rastgele sayı üretecek olursak:
int n = new Random().Next();
komutu bizeherhangi bir tamsayı getirecek ve n tamsayı değişkenine atayacaktır.
Random metodunun 3 farklı overload'u mevcuttur.
Bu sayede;
- Herhangi bir kısıtlama olmaksızın rastgele bir tamsayı (bkz: yukarıdaki örnek)
- Belli bir üst sınıra kadar olan rastgele bir tamsayı
- Alt ve üst sınırları belli olan rastgele bir tamsayı
üretebiliriz.
Benzer şekilde en fazla 10 değerini alabilecek rastgele bir sayı üretmek için:
int n = new Random().Next(10);
Ya da ihtiyaçlarımızın daha spesifik olduğunu varsayarak örneğin yılın 5 ile 100 arasındaki bir gününü rastgele seçmek için:
int n = new Random().Next(5, 100);
şeklinde Random sınıfını kullanabiliriz.
Daha detaylı simülasyon çalışmalarında seed değeri vererek rastgele sayı üretmek de mümkündür:
Random rast = new Random((int)DateTime.Now.Ticks);
int iterasyonSayisi = 0;
iterasyonSayisi = rast.Next(1, 261);
Response.Write(iterasyonSayisi.ToString());