Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Değişken Sayıda Parametre Alan Metot Tanımlama 2

ByOnur58

Kayıtlı Üye
MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,114
  • MFC Puanı
    10
  • MFC Seviyesi

Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CSharp_DegiskenSayida_PArametreAlan_Metot
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Değişken sayıda parametreler girerek toplam işlemini yapalım

        //Burada topla metodu int tipinde parametreler alacak.

        //Topla metodu int tipinde toplam değeri dönecek

        //Değişken parametre alabilmesini için params sözcüğü kullanılacak

        private **** btnTopla_Click(object sender, EventArgs e)
        {
            lstSonuclar.Items.Clear();

            lstSonuclar.Items.Add(Topla().ToString());

            lstSonuclar.Items.Add("İşlem : 6 = " + Topla(6).ToString());

            lstSonuclar.Items.Add("İşlem : 6 + 8 = " + Topla(6, 8).ToString());

            lstSonuclar.Items.Add("İşlem : 6 + 8 + 9 = " + Topla(6, 8, 9).ToString());

            lstSonuclar.Items.Add("İşlem : 6 + 8 + 9 + 20 = " + Topla(6, 8, 9, 20).ToString());

            lstSonuclar.Items.Add("İşlem : 6 + 8 + 9 + 20 + 30 = " + Topla(6, 8, 9, 20, 30).ToString());

            lstSonuclar.Items.Add("İşlem : 6 + 8 + 9 + 20 + 30 + 40 = " + Topla(6, 8, 9, 20, 30, 40).ToString());


            lstSonuclar.Items.Add("İşlem : 6 + 8 + 9 + 20 + 30 + 40 + 50 = " + Topla(6, 8, 9, 20, 30, 40, 50).ToString());
        }


        //Değişken sayıda parametre alan metotların tanımlanmasında params sözcüğünü aşağıda

        //gösterildiği gibi kullanırız. Eğer params sözcüğü yazılmazsa derleyici hatası alınır.

        //(yukarıdaki tanımlama için :Topla(6, 8, 9) ) 

        private int Topla(params int[] sayilar)
        {
            //Eğer topla metodu parametresiz olarak çağrılmışsa sonuç olarak 0 dönülsün

            if (sayilar.Length <= 0)
            {
                return 0;
            }

            //bir veya daha fazla parametre girilmiş ise metod buradan devam eder.

            //toplam değişkeni ile parametre olarak girilen tüm sayıları toplayalım

            int toplam = 0;

            //sayilar dizisine kaç tane değer atanmış ise hepsini toplayalım

            for (int i = 0; i < sayilar.Length; i++)
            {
                // try catch bir hata olması durumunda hatayı yok sayarak işleme kaldığı 

                //yerden ddevam eder.

                try
                {
                    toplam += sayilar[i];
                }
                catch (Exception)
                {
                }
            }

            return toplam;
        }
    }
}
 
Üst Alt