5.00 / 1 oy

C# metod parametresi olarak dizi göndermek

C# programlama dilinde metodları ve dizileri gördüğümüze göre artık bu iki konutu tek bir örnekte birleştirebilir ve metodlara sınırsız sayıda parametre sayısı göndermekte kullanabiliriz. Bu arada kastettiğim, bir metoda sonsuz sayıda parametre göndermek değil; parametre sayısı çeşitlemelerini genişletmek.

Örnek olarak iki sayının ortalamasını hesaplayarak yazdıran şöyle bir metodumuz olsun:

static void Main(string[] args)
{
        OrtalamaHesapla(2,3); //2.5
}

public static void OrtalamaHesapla (double sayi1, double sayi2)
{
        double ortalama = (sayi1 + sayi2) / 2;
        System.Console.WriteLine(ortalama);
}

Kullanıcılar, OrtalamaHesapla metodunu kullanarak artık istedikleri iki sayının ortalamasını hesaplayarak yazdırabilirler. Peki bir kullanıcının üç sayının ortalamasını hesaplaması gerektiğinde ne yapacağız? Bunun olası bir yanıtı, OrtalamaHesapla metodu için 3 parametre alan bir overload yazmak olabilir. Peki 4. 5, ... gibi her farklı adette sayı için ayrı bir overload yazmamız gerekirse tek bir metod için yüzlerce farklı overload bile yeterli olmayacak, çünkü kullanıcı her zaman daha fazla sayıda sayının ortalamasını hesaplamak isteyebilir.

Bu problemin tek çözümü dizi kullanmak olmasa da parametre olarak gönderilmek istenen sayıları tek bir dizide göndermek, bu problem için net bir çözümdür.

static void Main(string[] args)
{
        double[] sayiDizisi = {2, 4, 6, 8};
        OrtalamaHesapla(sayiDizisi); //5
}

public static void OrtalamaHesapla (double[] sayilar)
{
        double toplam = 0;
        for (int i=0; i<sayilar.Length; i++)
                toplam += sayilar[i];

        double ortalama = toplam / sayilar.Length;
        System.Console.WriteLine(ortalama);
}

Önceki benzer yazılarımdan bazıları için;

bkz: C# ile pürüzlü dizi (jagged array) kullanımı

bkz: C# ile iki dizinin elemanlarını toplamak

bkz: C# bir dizinin kaç boyutlu olduğunu görmek

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

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

bkz: C# Dizi Elemanlarının Kaç Kere Tekrarlandığını Bulmak

mbologlu

18.04.2021 03:21

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# metod parametresi olarak dizi göndermek

İ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.