Ana Sayfa Hakkımda Dersler Blog Mikrofonda İletişim Projeler
Dersler TEMEL · C#

C# Temelleri — Metotlar

8 dk okuma · Emre Ulutabak
1
Metot nedir?

Sabah kalktın, dişlerini fırçaladın. Öğlen yine fırçaladın. Akşam da. Her seferinde aynı hareketi tekrarladın — ama bu hareketi bir kez öğrendin.

Kod da böyle çalışır. Aynı işi defalarca yazmak yerine bir kez yazarsın, bir isim verirsin, gerektiğinde çağırırsın. Bu yapıya metot denir.

csharp
static void Selamla()
{
    Console.WriteLine("Merhaba!");
}

Selamla();
Selamla();
Selamla();
💡
Metodu bir kez yazdın, üç kez çağırdın. Kodu değiştirmek istersen sadece bir yeri değiştirirsin.
2
Neden kullanırız?

Metot kullanmadan yazılan kod kısa sürede okunaksız hale gelir. Aynı kod bloğunu 10 yere kopyaladığını düşün — birinde hata bulursan 10 yeri düzeltmen gerekir.

Metotlar kodu okunabilir, bakımı kolay ve yeniden kullanılabilir yapar. Bu üç özellik iyi yazılımın temelidir.

3
Void vs Return

Bazı metotlar bir şey yapar ama geri dönmez — bunlar void'dur. Bazıları ise bir şey üretir ve geri verir.

Mutfakta yemek yapan biri gibi düşün: void aşçı yemeği pişirir ama sana vermez. Return aşçı ise pişirip tabağı uzatır.

csharp
static void Yazdir(string mesaj)
{
    Console.WriteLine(mesaj);
}

static int Topla(int a, int b)
{
    return a + b;
}

Yazdir("Merhaba");
int sonuc = Topla(3, 5);
Console.WriteLine(sonuc);
4
Parametreler

Metotlara dışarıdan bilgi verebilirsin — bunlara parametre denir. Bir hesap makinesi düşün: sadece toplamak için değil, hangi sayıları toplayacağını da söylemen gerekir.

csharp
static void Karşıla(string isim)
{
    Console.WriteLine($"Merhaba, {isim}!");
}

Karşıla("Emre");
Karşıla("Ayşe");
Karşıla("Mehmet");
💡
Parametre sayısı arttıkça metot karmaşıklaşır. 3'ten fazla parametre varsa durumu yeniden düşün.
5
Altın kurallar

Yıllar içinde öğrenilen bazı temel kurallar var. Bunları bilmek seni orta seviye yazılımcıdan ayırır:

💡
Bir metot sadece bir iş yapmalı. Birden fazla iş yapıyorsa ikiye böl.
💡
Metot ismi fiil olmalı: Hesapla(), Kaydet(), Getir() — ne yaptığı isimden anlaşılmalı.
💡
20 satırı geçen metot büyük ihtimal birden fazla iş yapıyordur. Gözden geçir.
MİNİ QUIZ
Aşağıdakilerden hangisi doğrudur?
void metotlar her zaman bir değer döndürür
Her metot return içermek zorundadır
void metotlar değer döndürmez, sadece iş yapar
return sadece string için kullanılır