8. Metotlar (Fonksiyonlar) ve Parametreler

C# Logo
C# Logo

8. Metotlar (Fonksiyonlar) ve Parametreler

C# programlama dilinde, metotlar (veya fonksiyonlar), belirli bir görevi yerine getiren kod bloklarıdır. Programlarımızın modüler, tekrar kullanılabilir ve okunabilir olmasını sağlarlar. Bu makalede, C# dilinde metotların nasıl tanımlandığını, kullanıldığını ve parametrelerin nasıl işlendiğini ayrıntılı olarak inceleyeceğiz.

Metot Tanımlama

Bir metot, genel olarak aşağıdaki yapıya sahiptir:

C#

döndürülecek_tip metot_adı(parametre_listesi)
{
    // Metot gövdesi - yapılacak işlemler
    return döndürülecek_değer; // Eğer döndürülecek_tip void değilse
}

  • döndürülecek_tip: Metodun geriye döndüreceği veri tipini belirtir. Eğer metot herhangi bir değer döndürmüyorsa, void olarak tanımlanır.
  • metot_adı: Metoda verdiğimiz isimdir. Anlamlı ve açıklayıcı bir isim seçmek, kodun okunabilirliğini artırır.
  • parametre_listesi: Metoda gönderilecek olan parametrelerin listesidir. Parametreler, metodun çalışması için gerekli olan girdileri sağlar. Parametreler veri tipi ve isimleriyle birlikte tanımlanır. Eğer metot parametre almıyorsa, parantezler boş bırakılır.
  • Metot gövdesi: Metodun içindeki kod bloğudur. Burada, metodun gerçekleştireceği işlemler yer alır.
  • return: Metodun geriye bir değer döndürmesini sağlar. Eğer metodun döndürülecek tipi void değilse, return ifadesi ile uygun tipte bir değer döndürülmelidir.

Örnek Metot Tanımları

İşte birkaç örnek metot tanımı:

C#

// İki sayıyı toplayıp sonucu döndüren metot
int Topla(int sayi1, int sayi2)
{
    int toplam = sayi1 + sayi2;
    return toplam;
}

// Ekrana bir mesaj yazdıran metot (geriye değer döndürmüyor)
void MesajYaz(string mesaj)
{
    Console.WriteLine(mesaj);
}

// Parametre almayan ve geriye sabit bir değer döndüren metot
int SabitDegerDondur()
{
    return 42;
}

Metot Çağırma (Kullanma)

Bir metodu kullanmak için, metodun adını ve gerekli parametreleri (varsa) belirtmeniz gerekir. Metot çağrıldığında, metot içindeki kod bloğu çalıştırılır ve (eğer varsa) geriye bir değer döndürülür.

C#

int sonuc = Topla(5, 3); // Topla metodunu çağır ve sonucu 'sonuc' değişkenine ata
MesajYaz("Merhaba Dünya!"); // MesajYaz metodunu çağır ve ekrana mesaj yazdır
int sabit = SabitDegerDondur(); // SabitDegerDondur metodunu çağır ve sabit değeri 'sabit' değişkenine ata

Parametreler

Metotlar, dışarıdan bilgi almak için parametreler kullanır. Parametreler, metodun daha esnek ve tekrar kullanılabilir olmasını sağlar. C# dilinde farklı parametre türleri bulunmaktadır.

Değer Parametreler (Value Parameters)

Değer parametreler, metodun çağrıldığı yerden metoda bir değerin kopyasını gönderir. Metot içinde yapılan değişiklikler, çağıran yerdeki değişkeni etkilemez.

C#

void DegerParametre(int sayi)
{
    sayi = sayi * 2;
    Console.WriteLine("Metot içinde sayi: " + sayi); // Metot içinde sayi: 20
}

int anaSayi = 10;
DegerParametre(anaSayi);
Console.WriteLine("Ana metot içinde anaSayi: " + anaSayi); // Ana metot içinde anaSayi: 10

Referans Parametreler (Reference Parameters)

Referans parametreler, metoda bir değişkenin bellekteki adresini (referansını) gönderir. Metot içinde yapılan değişiklikler, çağıran yerdeki değişkeni doğrudan etkiler. Referans parametreler ref anahtar kelimesi ile belirtilir.

C#

void ReferansParametre(ref int sayi)
{
    sayi = sayi * 2;
    Console.WriteLine("Metot içinde sayi: " + sayi); // Metot içinde sayi: 20
}

int anaSayi = 10;
ReferansParametre(ref anaSayi);
Console.WriteLine("Ana metot içinde anaSayi: " + anaSayi); // Ana metot içinde anaSayi: 20

Çıkış Parametreleri (Output Parameters)

Çıkış parametreleri, metottan birden fazla değer döndürmek için kullanılır. Çıkış parametreleri de referans gibi çalışır, ancak metoda gönderilmeden önce değer atanması zorunlu değildir. Çıkış parametreler out anahtar kelimesi ile belirtilir.

C#

void CikisParametre(int sayi, out int kare, out int kup)
{
    kare = sayi * sayi;
    kup = sayi * sayi * sayi;
}

int anaSayi = 5;
int kareSonucu, kupSonucu;
CikisParametre(anaSayi, out kareSonucu, out kupSonucu);
Console.WriteLine("Karesi: " + kareSonucu + ", Küpü: " + kupSonucu); // Karesi: 25, Küpü: 125

Parametre Dizileri (Parameter Arrays)

Parametre dizileri, bir metoda değişken sayıda aynı tipte parametre göndermek için kullanılır. Parametre dizileri params anahtar kelimesi ile belirtilir ve metodun parametre listesinde son parametre olmalıdır.

C#

int ToplaParams(params int[] sayilar)
{
    int toplam = 0;
    foreach (int sayi in sayilar)
    {
        toplam += sayi;
    }
    return toplam;
}

int toplam1 = ToplaParams(1, 2, 3); // toplam1 = 6
int toplam2 = ToplaParams(1, 2, 3, 4, 5); // toplam2 = 15
Console.WriteLine("Toplam 1: " + toplam1 + ", Toplam 2: " + toplam2);

Metot Aşırı Yüklemesi (Method Overloading)

C# dilinde, aynı isimde birden fazla metot tanımlanabilir. Bu duruma metot aşırı yüklemesi denir. Metotların aynı isme sahip olabilmesi için, parametre listelerinin farklı olması gerekir (parametre sayısı, veri tipi veya sırası farklı olabilir).

C#

int Topla(int sayi1, int sayi2)
{
    return sayi1 + sayi2;
}

double Topla(double sayi1, double sayi2)
{
    return sayi1 + sayi2;
}

int toplamInt = Topla(5, 3); // int Topla metodu çağrılır
double toplamDouble = Topla(5.5, 3.2); // double Topla metodu çağrılır
Console.WriteLine("Integer Toplam: " + toplamInt + ", Double Toplam: " + toplamDouble);

Sonuç

Metotlar, C# programlama dilinde kodun modülerliğini, tekrar kullanılabilirliğini ve okunabilirliğini artıran temel yapı taşlarıdır. Farklı parametre türleri ve metot aşırı yüklemesi gibi özellikler, metotların esnekliğini ve gücünü artırır. Bu makalede öğrendiğiniz bilgilerle, C# projelerinizde daha etkili ve düzenli metotlar oluşturabilirsiniz.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*