none
Void'de Kullanılacak Değişkenlerin Sayısı RRS feed

  • Soru

  • Metotların başında belirttiğimiz işleme sokulacak verilerin sayısını ve çeşidini nasıl ayarlayabiliriz. Yani, oluşturduğumuz bir metodu kullanırken, belirttiğimiz 5 değişkenin 3'ünü doldursak da iş yapmasını nasıl sağlayabiliriz? Varyasyon sayısını belirtebileceğimiz, bölüm, şekil nedir, nasıldır söylerseniz sevinirim. 

    Başka bir deyişle; void xxx(x,x,x) ya da void xxx(x,x) çeşitliliğini soruyorum..

    27 Eylül 2020 Pazar 17:29

Yanıtlar

  • Konu void ile alakalı değil.

    Method overloading(Methodu aşırı yükleme) ile farklı parametreler alan ancak aynı isme sahip methodlar oluşturabilirsiniz :

    public int Add(int a, int b) 
        { 
            int sum = a + b; 
            return sum; 
        } 
    
        public int Add(int a, int b, int c) 
        { 
            int sum = a + b + c; 
            return sum; 
        } 

    Bir diğer seçenek ise variadic function :

    static void PrintAll(params object[] varargs) {
            foreach (var i in varargs) {
                Console.WriteLine(i);
            }
        }

    Son olarak parametrelere default değerler verilmesini sağlarsınız, örneğin parametrenin birine(nullable) default null atarsınız eğer null ise değeri gözardı edersiniz değilse method içinde işleme sokarsınız.

    NOT: Fonksiyonu havada yazıp derleyip, parametre pass etmekte başka bir seçenek tabi atlamamak lazım. Reflection eğlencelidir :D

    27 Eylül 2020 Pazar 18:05
  • x lerin tipleri aynı ise, params keywordunu kullanabilirsin, örn;

    public int Topla(params int[] Sayılar)
    {
       return sayılar.Sum();
    }
    Not: Başka parametre olacaksa params en sonda olmalı. 


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com



    27 Eylül 2020 Pazar 17:53
    Moderatör

Tüm Yanıtlar

  • x lerin tipleri aynı ise, params keywordunu kullanabilirsin, örn;

    public int Topla(params int[] Sayılar)
    {
       return sayılar.Sum();
    }
    Not: Başka parametre olacaksa params en sonda olmalı. 


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com



    27 Eylül 2020 Pazar 17:53
    Moderatör
  • Konu void ile alakalı değil.

    Method overloading(Methodu aşırı yükleme) ile farklı parametreler alan ancak aynı isme sahip methodlar oluşturabilirsiniz :

    public int Add(int a, int b) 
        { 
            int sum = a + b; 
            return sum; 
        } 
    
        public int Add(int a, int b, int c) 
        { 
            int sum = a + b + c; 
            return sum; 
        } 

    Bir diğer seçenek ise variadic function :

    static void PrintAll(params object[] varargs) {
            foreach (var i in varargs) {
                Console.WriteLine(i);
            }
        }

    Son olarak parametrelere default değerler verilmesini sağlarsınız, örneğin parametrenin birine(nullable) default null atarsınız eğer null ise değeri gözardı edersiniz değilse method içinde işleme sokarsınız.

    NOT: Fonksiyonu havada yazıp derleyip, parametre pass etmekte başka bir seçenek tabi atlamamak lazım. Reflection eğlencelidir :D

    27 Eylül 2020 Pazar 18:05
  • Soru olarak ne sorduğunuz tam anlaşılmıyor. Bunun cevabı Önay ve Mehmet'in söylediği params da olabilir, optıonal parametreler de, method overloading de.


    Blog
    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.


    Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.



    27 Eylül 2020 Pazar 18:23
    Yanıtlayıcı
  • Bana da optional parameters soruyor gibi gelmişti...

    www.cihanyakar.com

    27 Eylül 2020 Pazar 19:53