c# Kendi kütüphanemizi yapalım
Merhaba arkadaşlar,
c# ta kendi kütüphanemizi yapmak genel olarak hayat kurtarıyor.
Bu kütüphaneler kodların karışmasını ve daha az kod yazarak işlemlerinizi yapabilirsiniz.Faydasını büyük işlemlerde anlatmak gerekirse 1.000 satır kodu 300 satıra indirebilirsiniz.
Şimdi bir kütüphane basitçe nasıl hazırlanır açıklayalım
Visual Studio’ya girip bir class oluşturun.
sizin karşınıza aşağıdaki gibi bir kodlama gelicektir.
1
|
using System.....
|
Şimdi nasıl fonksiyon ekliyeceğimize geçelim.
iki tip fonksiyon inceleyeceğiz.
- geri veri döndüren
- geri veri döndürmeyen
Biz şuanlık sadece Geri Dönüşü olan Fonksiyonları inceleyeceğiz.
Geri veri Döndüren
Bu fonksiyonlar genelde bir veri alır ve o veriyi işleyip işlenmiş veriyi kullanıcıya geri verir.
Geri dönen veri tipleri fonksiyonların değişken tipine göredir.
Örneğin bir fonksiyondan string tipinde değişken almak için aşağıdaki kodlar kullanılabilir.
1
2
3
4
5
|
static string hosgeldin(string isim)
{
isim = "Hoşgeldiniz Sayın,"+isim;
return isim;
}
|
Yukarıdaki fonksiyon kullanıcı programı açtığında kullanılabilecek bir yapıya sahip. Burada geri hangi tipte veri döneceğini static string hosgeldin… kısmındaki string kısmı belirlemektedir.
mesela yukarıdaki fonksiyonu Form_Load ile kullanalım
1
2
3
4
5
|
//Form_Load kısmına eklenecek kodlar
Label1.Text = hosgeldin("Fatih");
//Uygulamayı çalıştırdığımızda Label1 de "Hoşgeldiniz Sayın,Fatih" yazdığını görüceksinizdir
|
Başka bir örnek ilede mesela bir hesap yapıcaksınız. Örneğin basit bir toplama işlemi yapıcaksınız.
bunun için aşağıdaki kodları inceleyerek başlıyalım
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
static int matematik(int sayi1, int sayi2, string islem)
{
int sonuc;
switch (islem)
{
case "+":
sonuc = sayi1 + sayi2;
break;
case "-":
sonuc = sayi1 - sayi2;
break;
case "x":
sonuc = sayi1 * sayi2;
break;
case "/":
sonuc = sayi1 / sayi2;
break;
}
return sonuc;
}
|
Burada toplama çıkarma bölme ve çarpma işlemlerini tek bir fonksiyonda toplamış olduk. Bu fonksiyonunda bize yaptığı dönüşün bir int olmasının sebebide static int matematik(… şeklinde olmasından dolayı.
Bu fonksiyonuda bir Button_Click ile kullanalım.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
//Button1_Click fonsyionuna textBox1 ve textBox2 deki sayıları topla fonksiyonu çağırarak sonucu textBox3 e yazdıralım
textBox3.Text = Convert.ToString(matematik(Convert.ToInt16(textBox1.Text),Convert.ToInt16(textBox2.Text),"+"));
//Şeklinde kullanabiliriz.
//Button2_Click fonsyionuna textBox1 ve textBox2 deki sayıları çıkar fonksiyonu çağırarak sonucu textBox3 e yazdıralım
textBox3.Text = Convert.ToString(matematik(Convert.ToInt16(textBox1.Text),Convert.ToInt16(textBox2.Text),"-"));
//Şeklinde kullanabiliriz.
//Button3_Click fonsyionuna textBox1 ve textBox2 deki sayıları çarp fonksiyonu çağırarak sonucu textBox3 e yazdıralım
textBox3.Text = Convert.ToString(matematik(Convert.ToInt16(textBox1.Text),Convert.ToInt16(textBox2.Text),"x"));
//Şeklinde kullanabiliriz.
//Button4_Click fonsyionuna textBox1 ve textBox2 deki sayıları bölme fonksiyonu çağırarak sonucu textBox3 e yazdıralım
textBox3.Text = Convert.ToString(matematik(Convert.ToInt16(textBox1.Text),Convert.ToInt16(textBox2.Text),"/"));
|
bu şekilde bir matematik fonksiyonuda hazırlamış olduk.
Ancak unutmamamız gereken bir şey var oda dönen verinin hangi tipte döndüğünü unutmamak. Çünkü bir textBox’a veya Label’e bir sayı giremezsiniz. Buyüzden dönen veriyi Convert.ToString() ile bir metine çevirebilirsiniz.
Bunu fonksiyon içindede yapabiliriz. Ancak bir bir fonksiyonun bize nasıl int değeri verdiğini anlatmak için bu şekilde hazırladık.
matematik fonksiyonunu birde string ifadeler ile aşağıda tanımlayalım
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
static string matematik(int sayi1, int sayi2, string islem)
{
int sonuc;
switch (islem)
{
case "+":
sonuc = sayi1 + sayi2;
break;
case "-":
sonuc = sayi1 - sayi2;
break;
case "x":
sonuc = sayi1 * sayi2;
break;
case "/":
sonuc = sayi1 / sayi2;
break;
}
return Convert.ToString(sonuc);
}
|
Yukarıdaki fonksiyonda ekstradan bir metine çevirme ihtiyacımız kalmamaktadır.
Bir sonraki yazımda görüşmek dileğiyle iyi çalışmalar…
Leave a reply