C# : Kodun Çalışma Süresini Hesaplama

C#, içinde barındırdığı bir çok hazır metotla yazılan kodu tek satıra indirmeyi sağlıyor. Bu durum bir kodun çalışma süresini hesaplamak için de geçerli.

Bir kodun çalışma süresini hesaplamak çoğu zaman önemlidir. Fonksiyonların ve değişken sayısının süreye nasıl etki ettiğini satır satır gözlemlemek için ideal.

using System.Diagnostics;
...
StopWatch sw = new StopWatch();

sw.Start(); // Hangi satırdan önce koyarsak o satırdan sonrası için işlemeye başlar.
...
Console.WriteLine(sw.Elapsed.ToString());

C# : Metin İçinde Metin Arama – 1

Belirli bir metin içinde kelime ya da karakter arama, şifreleme algoritmalarında,uzun metinlerde kelime bulmak ya da belli bir konuma gelmek için sıklıkla kullanılır. Programla yapılmak istenen kullanıcıdan alınan kelimenin, verilen metinde ya da okunan dosyadaki metinde kaç adet olduğunu bulmaktır.

Kullanıcıdan alınan ve dosyadan okunan metin arasında kelime aramanın mantığı aynıdır. Burada yararlanılan IndexOf() metodu bize istenen kelimenin olup olmadığını döndürür. Eğer yoksa -1 değeri döndürecektir. sayac değişkeni bulunduğu takdirde 1 arttırılarak kaç kelimenin kaç adet olduğunu gösterecektir.

int konum = sifre.IndexOf(sifre);
while (konum != -1)
{
konum = kelime.IndexOf(sifre, konum + 1);
sayac++;
}

Eğer dosyadan okutmak isteniyorsa ek olarak dosyanın yerini belirtecek ve okuma yapacak StreamReader nesnesine ihtiyaç vardır. Aşağıdaki satırlarla str adlı bir nesne oluşturularak C dizinindeki metin adlı belgeye ulaşıldı. ReadLine() metodu ile oku adlı string değişkenine atandı.

string oku;
StreamReader str = new StreamReader("c:\\metin.txt");
Console.WriteLine("Aranmak istenen kelime?");
kelime = Console.ReadLine();
oku = str.ReadLine();

Programın tüm kodları ise şöyle;

int secim;
String sifre,kelime;
int sayac = 0;
Console.WriteLine("Metin girmek icin 1'e, dosyadan okutmak icin 2'ye basiniz:");
secim = Convert.ToInt32(Console.ReadLine());
switch (secim)
{
case 1:
Console.WriteLine("Sifreyi giriniz:");
sifre = Console.ReadLine();
Console.WriteLine("Aranmak istenen kelime?");
kelime = Console.ReadLine();
int konum1 = kelime.IndexOf(sifre);
while (konum1 != -1)
{
konum1 = kelime.IndexOf(sifre, konum1 + 1);
sayac++;
}
break;
case 2:
string oku;
StreamReader str = new StreamReader("c:\\metin.txt");
Console.WriteLine("Aranmak istenen kelime?");
kelime = Console.ReadLine();
oku = str.ReadLine();
int konum2 = oku.IndexOf(kelime);
while (konum2 != -1)
{
konum2 = oku.IndexOf(sifre, konum2 + 1);
sayac++;
}
break;
}
Console.WriteLine("Metin icerisinde"+sayac+"tane bulunmustur.");
Console.ReadLine();
}

C#: PictureBox ile Birden Çok Resim Görüntüleme

PictureBox ile resim görüntülemek kolay bir işlem. Ancak bunu birden çok resim için istiyorsak bunun bir kaç yolu var. En iyi yolu resimleri exe içine gömmek, çünkü bu diğer ortamlarda da programı sorunsuz çalıştırır.

Projeye eklemek istenilen resimler PictureBox nesnesinin özelliklerinden Image ile eklenebilir. Import ile istenen klasörden resim seçilebilir.

Kod kısmında ise resimleri tutacak bir listeye ihtiyaç var.,

List < Image > images = new List < Image > ();
images.Add(Properties.Resources.baseball_bat);
images.Add(Properties.Resources.bracelet);
images.Add(Properties.Resources.bride);
images.Add(Properties.Resources.cemetery);
images.Add(Properties.Resources.compass);
images.Add(Properties.Resources.earthquake);
images.Add(Properties.Resources.french_fries);

PictureBox ya da bir buton yardımıyla resimlere göz atmak isteniyorsa aşağıdaki if yapısı kullanılabilir. Eğer sirano son resmin sayısını gösteriyorsa başa dönmesi sağlanır. Böylece sonsuz bir döngü sağlanmış olur.

int sirano=0;  if (sirano == images.Count - 1)  sirano = 0;  else   sirano++;