Tarayıcınız JavaScript! desteklememektedir.

C# ArrayList Kullanimi 2 (Unboxing)

Merhaba Arkadaslar,

Öncelikle, eger ArrayList ile alakali bir önceki makalemizi okumadiysaniz öncelikle onu okumanizi öneririm.

Bir önceki makalemizi kisaca özetlersek; ArrayList Object türünden bir yapiya sahip oldugu için tüm veri türlerini barindirabiliyordu ve ArrayList olustururken herhangi bir veri türü belirtmiyorduk. Bunun haricinde genisleme yapisina sahipti ve herhangi bir eleman sayisi belirtmemize gerek kalmiyordu.

Evet bu kadar özetten sonra yeni konumuza geçebiliriz.

ArrayList Inboxing Islemi

Söyle bir senaryomuz olsun, ArrayList olusturalim, içerisinde int türünden sayilar ekleyelim ve toplama islemi yaptiralim.

Öncelikle ArrayListimizi olusturuyoruz:

ArrayList sayilar = new ArrayList();
sayilar.Add(5);
sayilar.Add(10);
sayilar.Add(7);
sayilar.Add(123);
sayilar.Add(611);

sayilar isminde ArrayListimizi olusturduk ve içerisinde sayilari ekledik.

Peki, simdi toplama islemini nasil yaptirabiliriz? Ilk aklimiza gelen ve dogru olan yöntem, int türünde toplam adinda bir degisken tanimlamak ve döngü olusturmak. Sonrasinda döngünün içine toplam+=sayilar[i]; yazarak bu islemi halledebiliriz. Ama bir problem var:

 

Object türünden veriler ile matematiksel islemler yapamayiz. Bunun için Inboxing islemi yapmamiz gerek. Eger boxing/inboxing islemini bilmiyorsaniz, buraya tiklayarak makalemizi okumanizi öneririm.

Burada yapmamiz gereken bir cast islemi var. 

toplam+=(int)sayilar[i];

Bu cast islemi ile sayilar isimli ArrayList'imizin içerisindeki tüm degerlerin int türünden oldugunu belirtmis olduk.

***ArrayList Object türünde veri saklar. Bundan dolayi matematiksel islem yaptirmak için mutlaka cast islemi yapmaliyiz.