C# - Fonksiyonlar

Fonksiyonlar bir class (sınıf) ın en etkili üyeleridir. Class ın diğer üyeleri olan property (özellik) ve field (alan) lara oranla çok daha aktifdirler. Bunun en büyük sebebi içine parametreleri de kullanabileceğimiz işlevsel kodlar yazabilmemizdir.

Aşağıda bir fonksiyonun temel yapısı gösterilmektedir.

[görünürlük] [dönüş tipi] [adı] ( [parametre(ler)] ) { [kod bölümü] }

Şimdi bir fonksiyon örneğine bakalım..

public int Toplama(int sayi1, int sayi2)
{
    return sayi1 + sayi2;
}

Bu fonksiyonumuz iki parametre almıştır. "sayi1 ve sayi2" parametreleri kodun içinde toplanır ve bir sonuç döndürür. Şimdi fonskiyonumuzun bölümlerini inceleyelim..

  • public - Proje içinde görünür olmayı belirtir (visibility).
  • int - Dönüş tipini göstermektedir. Fonksiyonumuzun herhangi bir şey döndürmesini istemiyorsanız bunun yerine "void" anahtar sözcüğünü kullanmalısınız..
  • Toplama - Fonskiyonun adıdır.
  • (int sayi1, int sayi2) - Bunlar parametrelerdir. Parametreler isteğe bağlıdır, yani parametresiz fonksiyonda yazabiliriz. Bu durumda "()" şeklinde fonksiyonumuzu yazmalıyız..."public int Toplama() gibi.."
  • Süslü parantezlerin içi {} - Fonskiyonun işlevini sağlayan kod burada yazılır.

Şimdi fonksiyonumuzu çağıralım. Bunun için fonksiyonun adını yazmalı ve parametrelere değer girmeliyiz. Son olarak da noktalı virgül ile bitirmeliyiz.. Aşağıdaki gibi..

Toplama(6, 5);

Fonksiyonlar classlar içinde tanımlanırlar. Fakat yazdığımız bu fonksiyonu başka bir class tan da çağırma ihtiyacımız olabilir. Bunun 2 yöntemi vardır. Eğer fonksiyonumuz statik değilse, o class tan yaratılmış objenin isimden sonra nokta konur ve fonksiyon ismi yazılır. Eğer fonksiyonumuz statik ise class isminden sonra nokta konur ve fonksiyonumuz çağırılır..

Aşağıdaki örnekleri inceleyelim..

namespace FonksiyonDeneme
{
    class Program
    {
        static void Main(string[] args)
        {
            Matematik mat = new Matematik();
            int sonuc1 = mat.Toplama(3, 5);

            int sonuc2 = MatematikStatik.Toplama(4,6);

            Console.WriteLine(sonuc1);
            Console.WriteLine(sonuc2);
            Console.ReadLine();
        }
    }

    public class Matematik
    {
        public int Toplama(int sayi1, int sayi2)
        {
            return sayi1 + sayi2;
        }
    }

    public class MatematikStatik
    {
        public static int Toplama(int sayi1, int sayi2)
        {
            return sayi1 + sayi2;
        }
    }
}

Fonksiyon Dönüş Tipleri

Fonksiyonlar dönüş tiplerine göre 2'ye ayrılır. Ya birşey döndürür ya da bir şey döndürmez. Yukarıdaki örnekte "int" tipinde bir değer döndürülmektedir. Bunun için kod bölümüne "return" eklenmelidir. Bu anahtar sözcük neyi döndüreceğimizi belirtir. "return sayi1 + sayi2;" de olduğu gibi..

Fonksiyon eğer bir değer döndürmeyecekse fonksiyon isminin soluna "void" anahtar sözcüğü eklenir. Kod satırının içine ise "return" yazmamıza gerek yoktur.

Bazı durumlarda ise kod satırının içinde birden fazla dönüş türü koymamız gerekebilir.. Aşağıdaki örnekte olduğu gibi..

public int Toplama(int sayi1, int sayi2)
{			
	if( (sayi1 > 10) && (sayi2 < 50) )
	{
	   return sayi1 + sayi2;
	}
	return -1;
}



İlginizi Çekebilir

C# - Operatörler

C# - Kurucu ve Yıkıcı (Constructor Destructor)

C# - Nullable Tipler

C# - Sınıf (Class)

C# - Parametre