C# StopWatch Sınıfı Kullanımı

Home  >>  C#  >>  C# StopWatch Sınıfı Kullanımı

C# StopWatch Sınıfı Kullanımı

29
Ara,2014

0
 C#
StopWatch sınıfı bizlere metodlarımız, kod parçacıklarımızın ne kadar sürede sonuçlandığı döndürerek bizi kod üzerinde optimizasyon yapmamıza ve daha performanslı yazılımlar geliştirmemizi için tetikleyen, kullanımı çok basit olan ve diğer yapabileceğimiz bir çok yöntemlere göre bu işi yapabileceğiniz en güçlü sınıftır diyebiliriz.   StopWatch  Özellikleri; Elapsed : Toplam Süreyi verir. ElapsedMiliseconds: Toplam Süreyi milisaniye cinsinden verir. IsRunning:Zamanlayıcının çalışıp çalışmadığı gösteririr. (True,False)   StopWatch  Methodları; Start : StopWatch  nesnesini başlatır. Reset :  süreyi sıfırlar ve stopwatch nesnesini durdurur. Restart :  süreyi sıfırlar ve yeniden başlar. StartNew : yeni bir zamanlayıcı başlatır. Stop: StopWatch  nesnesini dudurur.   Bizde Kaprekar Sayılarını  hesaplama bir metod yazarak basit bir örnekle StopWatch nesnemizi nasıl kullanıldığına göz atalım.   Kaprekar Sayıları (Vikipedi) Kaprekar sayıları , 1949 yılında Hintli matematikçi Kaprekar tarafından tariflenen sayılardır. n basamaklı bir t Kaprekar sayısının karesi alınıp sağdaki n basamağı solda kalan n-1 basamağa eklendiğinde sonuç yine t sayısını verir. Örnek: 55 , iki basamaklı bir sayıdır. 552 = 3025 , sağdan iki basamak 25 , soldan iki basamak 30. Bu iki sayının toplamı 30+25=55 yani sayının kendisidir. 1, 9, 45, 55, 99, 297, 703, 999, 2223, 2728, 4879 sayıları da diğer bazı Kaprekar sayılarıdır.   İlk öncelikle aşağıdaki gibi bir form tasarlıyalım. Nesnelerimiz, lsbListe                                :              listbox txtSayi1                               :              Textbox txtSayi2                               :              Textbox btnKaprekarHesapla              :              Button   şimdi kaprekar sayılarımızı hesaplamak için Kaprekar_Sayilari adında bir sınıf oluşturalım ve içerisine bize bir List döndüren method yazalım.          

public class Kaprekar_Sayilari
{

private string karakter, ilkSayi, sonSayi, sonuc2;
private int bul ,basamak ,sonuc, sonuc3 ;

private List Dizi = new List();

public List Kaprekar_Sayilari_Hesapla(int _BaslangicSayi, int _BitisSayisi)
{

for (int i = _BaslangicSayi; i <= _BitisSayisi; i++)
{

sonuc = i * i;
karakter = Convert.ToString(i);

basamak = karakter.Length;
sonuc2 = Convert.ToString(sonuc);
sonuc3 = sonuc2.Length;

bul = (sonuc3 - basamak);
ilkSayi = sonuc2.Substring(bul, basamak);
sonSayi = sonuc2.Substring(0, bul);

if (i == (int.Parse(ilkSayi) + int.Parse(sonSayi)))
{
Dizi.Add(i);
}

}
return Dizi;
}
}

 

Şimdi de oluşturduğumuz methodumuzu çağırarak Listbox içerisine methodumuzdan dönen değerleri alarak StopWatch nesnemizin yardımıyla da methodumuzun ne kadar sürede tamamlandığı messagebox’a gösterelim.
private void Hesapla_Click(object sender, EventArgs e)
{
//Stopwatch nesnemizi oluşturduk.
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();

//Kaprekar_Sayilar sınıfımız
Kaprekar_Sayilari _Kaprekar_Sayilari = new Kaprekar_Sayilari();

//Kaprekar sınıfımızın bizden istediği parametrelere değer atayarak dönen sonucu listbox datasource yüklüyoruz.
lsbListe.DataSource =
_Kaprekar_Sayilari.Kaprekar_Sayilari_Hesapla
(Convert.ToInt32(txtSayi1.Text), Convert.ToInt32(txtSayi2.Text));

//Stopwatch nesnemizi kapatıp süreyi gösteriyoruz.
stopwatch.Stop();
MessageBox.Show("Süre :" + stopwatch.Elapsed);

}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir