Değişken Sayıda Object Parametre Alan Metot Tanımlama , int ve double Toplama Metodu

miRBey

Forum Üyesi
Katılım
5 Eki 2022
Mesajlar
180
Tepkime puanı
0
Puanları
16
Kod:
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 DegiskenSayidaParametreAlanMetotTanımlama
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

//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(0,6, 8, 9) )

//Burada iki farklı tipimiz var : int ve double, birinci parametre 0 ise

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

if (tip != 0 && tip != 1)
{
return 0;
}

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

object toplam = null;

int toplamInt = 0;

double toplamDouble = 0;

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

// 2 Farklı tipimiz olsun : int ve double metot çağrıldığında hangi tip

// ile çağrılmış ise toplamayı o tipi göre yapalım

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

//yerden ddevam eder.

try
{
toplamInt += Convert.ToInt32(sayilar[i]);
}
catch (Exception)
{
}
}

toplam = (object)toplamInt;
}
else if (tip == 1)
{
for (int i = 0; i < sayilar.Length; i++)
{
// try catch bir hata olması durumunda hatayı yok sayarak işleme kaldığı

//yerden ddevam eder.

try
{
toplamDouble += Convert.ToDouble(sayilar[i]);
}
catch (Exception)
{
}
}

toplam = (object)toplamDouble;
}

return toplam;
}

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

// Değişken int tipindeki parametreleri object tipinde parametre olarak yollayarak

// toplama işlemlerini gerçekleşticeğiz. int tipi için ilk parametre 0 olarak ayarladım.

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

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

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

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

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

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




lstSonuclar.Items.Add("");

lstSonuclar.Items.Add("");




// Değişken double tipindeki parametreleri object tipinde parametre olarak yollayarak

// toplama işlemlerini gerçekleşticeğiz. Double tipi için ilk parametre 1 olarak ayarladım.

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

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

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

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

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

lstSonuclar.Items.Add("İşlem : 6 + 8 + 9 + 20 + 30 = " + Topla(1, 6.6, 8.1, 9.7, 20.6, 30.4).ToString());
}
}
}[/i][/i]
 

Yusuf

Forum Üyesi
Katılım
25 Ara 2022
Mesajlar
840
Tepkime puanı
0
Puanları
16
Bilgi için teşekkürler
 

Genel Forum Sitesi

Forum Sitesi - Forumzar.COM

Forumzar.COM olarak, Türkçe forum sitesi denildiğinde akla gelen ilk adres olarak, geniş kapsamlı genel forum platformumuzda buluşuyoruz. Türkiye'nin en büyük Türkçe forum siteleri arasında yer almanın gururunu yaşıyoruz. Çeşitli konu başlıklarında aktif bir şekilde paylaşımların yapıldığı, her konuda interaktif ve bilgilendirici tartışmalara katılmak için bizi takip edin! ve bir dakikanızı ayırarak forum sitemize üye olun!
Bilgi paylaştıkça çoğalır sloganı ile ilerleyen forum sitesi platformumuza, siz de üye olarak forum sitemizde açılan konulara katılabilir ve ilgi alanınıza uygun konular açarak siz de paylaşımda bulunabilirsiniz.
Üst Alt