C# da fonksiyon kullanmak, size oluşturduğunuz kod bloğunu programın herhangi bir yerinde tekrar tekrar çalıştırma imkanı verir. Oluşturduğunuz fonsiyonu hem proje içinde hem proje dışıda bir yada birçok kez gizli yada açık bir şekilde kullanılabilir. C#'da fonksiyon tanımlarken kullanılan yapı aşağıdaki gibidir.
<görünürlük> <dönüş tipi> <ad>(<parametreler>)
{
<fonksiyon kodları>
}
c# için aşağıdaki gibi bir fonksiyon örneği oluşturabilirsiniz: Bu örnek içerisinde hiç bir parametre kullanmadık yani fonksiyona herhangi bir değer göndermiyoruz. Bu fonksiyonu çağırmak için, yapmanız gereken tek şey, program içerisinde herhangi bir noktada foksiyonun ismini parantez kullanarak "yap();" yazmaktır.
public void Yap()
{
MessageBox.Show("Selam Arkadaşım...");
}
Şimdi gelin bu örneğimizi detaylıca inceleyelim. Yukarıda yer alan fonksiyon parçası için, puplic ifadesi optional yani isteğe bağlı olarak belirlenir, kullanılması zorunlu değildir. Eğer public yazmazsanız fonksiyonunuz otomatik olarak private olarak belirlenir. Public ifadesinden sonra void, fonksiyon için dönüş tipinin ya da değerinin olmadığı belirtmek için kullanılır, yani bu fonksiyon içerisinde yer alan kodların çalıştırılması sonucu hiç bir değer döndürmüyor demektir.
Şimdi başka bir örnek olarak oluşturduğunuz fonksiyon çalıştıktan sonra değer döndüren bir kod yazalım. Bu örneğimizde fonksiyon int değer söndürecek ama unutmayın yazdığınız fonksiyonlar c# içerisinde kulanılan bütün değişken tiplerinde değer döndürebilir. örneğin, eğer yazdığınız fonsiyon integer tipinde bir değer döndürüyorsa public ifadesinden hemen sonra int terimi kullanılarak aşağıdaki gibi bir fonksiyon yazılabilir. Ancak şunu kesinlikle unutmayın: eğer fonksiyon bir değer döndürüyorsa mutlaka return anahtar kelimesi fonksiyon içinde kullanılmalıdır.
public int topla(int sayi1, int sayi2)
{
int sonuc = sayi1 + sayi2;
return sonuc;
}
Bu fonksiyonu program içerisinde herhangi bir yerde kullanmak için aşağıdaki gibi kodlar yazabilirsiniz. Ben hem textbox hem messagebox ile nasıl kullanılacağını yazmaya çalıştım. Burada önemli nokta, topla fonksiyonu integer tipinde değer döndürdüğü için Messagebox içerisinde kullanmak için string tipine dönüştürmemiz gerekiyor.
//messagebox ile kullanımı
MessageBox.Show(topla(2, 2).ToString());
//textbox ile kullanımı
int sonuc = topla(2,2);
textbox1.Text = sonuc.ToString();
Daha ileri seviye bir örnek ve detaylı bilgi için 2. makaleyi inceleyebilirsiniz.