ListBox çok sik kullandigimiz bir C# Kontrolü. Içerisinde Object türden veri kabul ettigi için ister mantiksal ister rakamsal ister sözel ister DateTime türünden veriler ekleyebiliriz. Eger içerisinde ekledigimiz veri rakamsal ise ve biz bu rakamsal degerler ile toplama islemi yaptirmak istiyorsak döngü kullanmaliyiz ve cast islemi yapmaliyiz.
Aslinda Object türünden eleman kabul eden tüm dizilerde, listlerde vs bu islemi yapmamiz adeta bir zorunluluk haline geliyor.
Söyle bir senaryomuz olsun, Random sinifindan faydalanarak, ListBox'imizin içerisinde rastgele sayilar ekleyelim ve bu sayilarin toplamini alalim.
Windows Forms Application projesi olustururalim, 1 Button, 2 Label ve 1 ListBox ekleyelim. Asagidaki kodlari Button'un Click Event'inin içerisinde yazalim.
Random r = new Random();// Rastgele sayilar ekleyebilmek için Random sinifindan faydalaniyorum.
int diziSayisi = r.Next(0,40);// Kaç tane sayi olacagini rastgele belirlemesi için int türünden bir degisken tanimliyorum.
int? uretilenSayi = null;//burada ListBox içerisinde eklenecek rastgele sayiyi belirleyecegiz.
int[] sayilar = new int[diziSayisi];//ListBox'a eklenecek sayilarin tutulacagi dizi.
for (int i = 0; i < sayilar.Length; i++)
{
uretilenSayi = r.Next(0, 51);//üretilen rastgele sayiyi belirliyoruz.
sayilar[i] = (int)uretilenSayi;// null olarak belirttigim için cast islemi yapmaliyim.
listBox1.Items.Add(sayilar[i]);//ListBox'imin her bir elemani sayilar dizimin her bir elemani.
}
int toplam = 0;//ListBox'ta ki sayilarin toplamini bu degiskende tutacagim
for (int i = 0; i < listBox1.Items.Count; i++)//ListBox'imin toplam eleman sayisi kadar çalisacak bir döngü olusturuyorum.
{
toplam += (int)listBox1.Items[i];//Az önce belirttigim cast islemi. ListBox'imin her bir elemani toplanarak toplam degiskenine aktariliyor.
}
label1.Text ="Sayilarin Toplami: "+ toplam.ToString();//ListBox'ta ki sayilarin toplami.
label2.Text = "Toplam Sayi : "+listBox1.Items.Count.ToString();//ListBox'ta ki toplam sayi.
Takildiginiz yerlerde yorum yazabilirsiniz arkadaslar, kod'la kalin..
Yazılım Geliştirici & Yazılım Uzmanı