C# dilinde, params
, ref
ve out
anahtar kelimeleri, metotlarda parametreleri farklı şekillerde kullanmanıza ve işlevselliğini değiştirmenize olanak tanır.
params
Anahtar Kelimesiparams
anahtar kelimesi, bir metoda n sayıda parametre geçmenizi sağlar. Bu parametreler aynı türden olmalıdır ve metot imzasında son parametre olarak kullanılmalıdır.
public void Topla(params int[] sayilar)
{
int toplam = 0;
foreach (int sayi in sayilar)
{
toplam += sayi;
}
Console.WriteLine("Toplam: " + toplam);
}
Bu örnekte, Topla
metodu değişken sayıda int
türünden parametre alabilir. Metot çağrıldığında geçilen tüm sayılar, params
anahtar kelimesiyle belirtilen parametrede bir dizi olarak toplanır.
Topla(1, 2, 3); // Çıktı: Toplam: 6
Topla(5, 10, 15, 20); // Çıktı: Toplam: 50
out
Anahtar Kelimesiout
anahtar kelimesi, bir metottan birden fazla değer döndürmek için kullanılır. out
anahtar kelimesiyle belirtilen parametre, metot içinde değer atanmak zorundadır.
public void Bolme(int bolunen, int bolen, out int bolum, out int kalan)
{
bolum = bolunen / bolen;
kalan = bolunen % bolen;
}
Bu örnekte, Bolme
metodu out
anahtar kelimesiyle int
türünden bolum
ve kalan
parametrelerini döndürür.
int sonuc, kalan;
Bolme(10, 3, out sonuc, out kalan);
Console.WriteLine("Bölüm: " + sonuc + ", Kalan: " + kalan); // Çıktı: Bölüm: 3, Kalan: 1
Bu anahtar kelimeler, C# dilinde metot parametrelerini daha esnek bir şekilde kullanmanızı sağlar. params
ile değişken sayıda parametre alabilir, ref
ile parametrenin referans olarak geçilmesini sağlayabilir ve out
ile metottan birden fazla değer döndürebilirsiniz.
ref
Anahtar Kelimesiref
anahtar kelimesi, bir parametrenin referans olarak geçilmesini sağlar. Bu, parametrenin değerinin metot içinde değişebilir olmasını sağlar. ref
anahtar kelimesiyle belirtilen parametre, metot içinde başka bir değerle değiştirilebilir.
public void Degistir(ref int sayi)
{
sayi = 10;
}
Bu örnekte, Degistir
metodu ref
anahtar kelimesiyle int
türünden bir sayi
parametresi alır. Bu sayı parametresi metot içinde başka bir değerle değiştirilir.
int degisecekSayi = 5;
Degistir(ref degisecekSayi);
Console.WriteLine(degisecekSayi); // Çıktı: 10