5.00 / 1 oy

C# ile params anahtar sözcüğü kullanımı ve örnekleri

C# ile bugüne kadar paylaştığım uygulamalarda aslında params anahtar sözcüğü ile karşılaştığımız örnekler de oldu ama params anahtar sözcüğünün kullanımı ve örnekleri için ayrı bir başlık oluşturmak istedim. Örneğin 18 overload'u olan Console.WriteLine metodunun bir overload parametreleri şu şekilde:

c sharp params

params object [] arg

params anahtar sözcüğü, bir metoda istediğimiz sayıda parametre gönderebilmek için kullanabileceğimiz bir anahtar sözcültür. params anahtar sözcüğünü daha iyi anlamak için aşağıdaki gibi kendi metodumuzu yazalım ve bu metodu farklı parametrelerle çağıralım.

Örnek 1:

static void Main(string[] args)
{
    ParamsYazdir(); //hiç parametre yok ki yazdırayım
    ParamsYazdir("merhaba"); //merhaba
    ParamsYazdir("merhaba","reitix"); //merhaba reitix 
    ParamsYazdir("merhaba","arkadaşlar","kanalıma","hoşgeldiniz"); //merhaba arkadaşlar kanalıma hoşgeldiniz 
    ParamsYazdir("lutfen","beğenmeyi","ve","abone","olmayı","unutmayın"); //lutfen beğenmeyi ve abone olmayı unutmayın
}
public static void ParamsYazdir (params string[] kelimeler)
{
    if (kelimeler.Length.Equals(0))
        System.Console.WriteLine("hiç parametre yok ki yazdırayım");
    else
    {
        for (int i = 0; i < kelimeler.Length; i++)
        {
            System.Console.Write(kelimeler[i] + " ");
        }
        System.Console.WriteLine("");
    }
}

Örnekten de görebileceğimiz gibi tek bir varyasyonu olan ParamsYazdir metodunun hiçbir overload'u olmamasına rağmen istediğimiz sayıda parametre ile kullanabilmiş olduk.

Örnek 2: İlk örnekte istediğimiz sayıda string veri tipinde parametreyi ParamsYazdir metoduna parametre olarak gönderebildik ve hiç hata almadık ancak yine de tümünün string veri tipinde olması gerekiyordu. Bu örnekte ise C# programlama dilinde params anahtar sözcüğü ile nasıl istediğimiz sayıda ve istediğimiz veri tipinde parametreyi bir metoda gönderebileceğimize bakalım.

static void Main(string[] args)
{
    ParamsYazdir(); //hiç nesne yok ki yazdırayım
    ParamsYazdir("merhaba"); //merhaba
    ParamsYazdir("merhaba",3); //merhaba 3
    ParamsYazdir("merhaba",3, 6.54f); //merhaba 3 6.54
    ParamsYazdir("lutfen",'b',"ve",'a',"olmayı",1); //lutfen b ve a olmayı 1
}
public static void ParamsYazdir (params object[] nesneler)
{
    if (nesneler.Length.Equals(0))
        System.Console.WriteLine("hiç nesne yok ki yazdırayım");
    else
    {
        foreach (object nesne in nesneler)
        {
            System.Console.Write(nesne + " ");
        }
        System.Console.WriteLine("");
    }
}

Not: Console.WriteLine metodunda da istediğimiz sayıda ve istediğimiz veri tipinde parametreyi kullanabiliyoruz ve çıktı alabiliyoruz. Konunun başında bahsettiğim gibi params object [] arg uygulamasının temel amacı da zaten budur.

 

Önceki bazı diğer benzer yazılarım için;

bkz: C# ve Generic Koleksiyonlar

bkz: SHA1 Nedir?

bkz: C# Override Nedir ve Nasıl Kullanılır?

bkz: C# Dizi Elemanlarının Toplamı Nasıl Bulunur?

bkz: C# ile String'in ortanca karakterini bulmak

bkz: C# ile iç içe while döngüsü kullanımı ve örnekleri

mbologlu

11.05.2021 03:47

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# ile params anahtar sözcüğü kullanımı ve örnekleri

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.