C# programlama serimize devam ederken, sınıflar içinde geriye değer döndürmeyen (void) metotları konsol uygulamaları üzerinde derinlemesine incelemeye devam ediyoruz. Bir önceki dersimizde temel bir karşılama mesajı gösteren metodu ele almıştık. Bu yazımızda ise, parametre alan void metotlarla daha dinamik ve esnek çıktılar nasıl oluşturulur, adım adım göreceğiz.
Parametre Alan Void Metotların Gücü
Geriye değer döndürmeyen (void) metotlar, belirli bir görevi yerine getiren ancak herhangi bir değer geri döndürmeyen fonksiyonlardır. Bu metotlar, görevlerini tamamlamak için dışarıdan parametre olarak veri alabilirler. Bu sayede, aynı metodu farklı verilerle çağırarak farklı sonuçlar elde edebiliriz. Örneğin, bir "kişi listesi" oluşturan metot, her çağrıldığında farklı bir isim ve şehir bilgisini parametre olarak alıp ekrana yazdırabilir.
Bu yaklaşım, kodunuzu daha yeniden kullanılabilir ve modüler hale getirir. Tek bir metot tanımıyla, farklı senaryolar için esnek çözümler üretebilirsiniz.
Uygulama Örneği: Kişi Listesi Sınıfı ile Dinamik Çıktılar
Şimdi, bir konsol uygulaması üzerinde Kisiler
adında bir sınıf tanımlayalım ve bu sınıf içine parametre alan geriye değer döndürmeyen bir metot ekleyelim.
1. Kisiler
Sınıfını Oluşturma:
Projenize yeni bir "Sınıf" ekleyerek Kisiler.cs
adında bir dosya oluşturun. Bu sınıf, kişi bilgilerini listeleyecek metodu içerecek:
public class Kisiler
{
// Parametre alan geriye değer döndürmeyen metot tanımı
public void KisiListesi(string adSoyad, string sehir)
{
for (int i = 1; i <= 10; i++) // 1'den 10'a kadar döngü oluştur
{
// Parametre olarak gelen adSoyad ve sehir bilgilerini konsola yazdır
Console.WriteLine($"{i}. {adSoyad} -- {sehir}");
}
}
}
Yukarıdaki kodda:
Kisiler
sınıfı,public
erişim belirleyicisiyle tanımlanmıştır.KisiListesi
metodu,public void
olarak tanımlanmıştır, yani herhangi bir değer döndürmez ve dışarıdan erişilebilir.- Metot,
string adSoyad
vestring sehir
olmak üzere iki adet parametre alır. Bu parametreler, metodun çağrıldığı yerden gönderilecek verileri temsil eder. - Metot içinde bir
for
döngüsü kullanılarak, gönderilenadSoyad
vesehir
bilgileri 1'den 10'a kadar numaralandırılarak konsola yazdırılır.${i}. {adSoyad} -- {sehir}
formatı, C# 6.0 ve sonraki sürümlerinde kullanılan string interpolasyonu ile daha okunabilir bir çıktı sağlar.
2. Metodu Program.cs
İçinden Çağırma:
Konsol uygulamasının ana çalışma noktası olan Program.cs
dosyasındaki Main
metodu içinde, Kisiler
sınıfından bir nesne oluşturarak KisiListesi
metodunu çağırabiliriz:
internal class Program
{
static void Main(string[] args)
{
// Kisiler sınıfından bir nesne (instance) oluşturma
Kisiler kisiObjesi = new Kisiler();
// Nesne üzerinden KisiListesi metodunu çağırırken parametreleri gönderiyoruz
kisiObjesi.KisiListesi("Ahmet Aslan", "Trabzon");
// Konsol ekranının hemen kapanmaması için kullanıcıdan bir tuş bekliyoruz
Console.ReadKey();
}
}
Bu kod bloğunda:
Kisiler kisiObjesi = new Kisiler();
satırı,Kisiler
sınıfındankisiObjesi
adında yeni bir nesne oluşturur.kisiObjesi.KisiListesi("Ahmet Aslan", "Trabzon");
satırı,KisiListesi
metodunu çağırırken "Ahmet Aslan" ve "Trabzon" değerlerini parametre olarak gönderir. Bu değerler,KisiListesi
metodunun içindekiadSoyad
vesehir
parametrelerine atanır ve döngü içinde kullanılır.
Sonuç
Sınıf içinde parametre alan geriye değer döndürmeyen metotlar, C# programlamada daha esnek ve dinamik uygulamalar geliştirmenizi sağlar. Aynı metodu farklı verilerle çağırarak, kod tekrarını önler ve uygulamanızın daha modüler olmasını sağlarsınız. Bu, özellikle veri listeleme, mesaj gösterme veya belirli işlemleri farklı girdilerle tekrarlama gibi senaryolarda oldukça kullanışlıdır.