Merhaba Değerli Arkadaşlar .Net deki Collections kütüphanesinde var olan çok kullanımlı olan Classları anlatmaya devam ediyoruz.C ve C++ gibi dillerde çokça kod yazan arkadaşlar bu anlatacağımı iyi bilirler o 2 dilde her zaman için dinamik boyutlu dizilere ihtiyaç duyulmaktadır ve bunun yönetimide bazen zorlaşmaktadır çünkü Pointer kavramıyla uğraşmak zorundasınızdır ancak Java ve C# gibi yüksek seviyeli dillerde bu sorunlar kullanıcı boyutundan kaldırılmıştır yani kullanı isterse .Net kütüphanesinden Arraylist Sınıfını kullanabilir bunun için yapılması gereken Tek şey using System.Collections; sistem kütüphanesini kodun tepesine yazmasıdır.
Yukarıda da belirttiğimiz üzere Arraylist sınıfının en önemli özelliği Dinamik boyutta bir Object dizisi olmasıdır.Object Derken diyeceksiniz???
Object derken şunu kastediyorum ki C ve C++ da tanımladığınız bir dizininin Type ı ya Char ya integer ya string yada Double Vb.. gibi tiplerden birisi olmalı ve saklanılacak value değerleride hep bu type ta olmalı ancak C# da ve Java gibi yüksek seviyeli dillerde bulunan Arraylist Class ının öyle bir sorunu yok yani bir Arraylist eki bir dizide hem double hem char hem integer hemde string type ında eleman barıdırılabilir.Ayrıca Arraylist Sınıfının birde dinamik boyutlu bir dizi olduğunu düşünürsek C ve C++ gibi dillerdeki dizilerden kat kat üstünlükte olduğunu anlayabiliriz belki burada C ve C++ gibi dillerde yazılım yapan arkadaşlar diyebilirler ki C ve C++ da da bu sorunu Bağlı liste (Linked List) ile halledebiliyoruz derler bende doğru söylüyorsunuz derim ama bir an her zaman bellek konusunda problemlerle karşılaşıldığını ve sürekli pointer yönetimsizliği ortaya çıkınca böyle bir şeye gerek duyulmayacağını ve Arraylist class ını kullanacağınızı belirtmek isterim.
Arraylist Class ının Dinamik Size özelliği ve Object type ında value lar barındırdığını söylemiştik bununla beraber Arraylist Class ının .Net Framework le birlikte gelen bir çok Metodu bulunmaktadır.Bunlardan En çok kullanılan metotlardan bazılarıysa şunlardır.
- Add
- AddRange
- Remove
- RemoveAt
- Count
- CopyTo
- Contains
- Clear
- Clone
- Reverse
- Sort
Bu özelliklerden Add metodu Arraylist te tanımladığımız bir liste nesnesi düşünelim bu liste ye Object type ında eleman Ekler 0. indexten başlayarak.Remove Özelliğine girilen integer type ındaki değişkene denk düşen indexteki value silinir.RemoveAt metodundaysa Direk liste içinde bilinen bir value varsa o değeri bu metoda yazarsak hangi indexteyse gider ve onu siler.Clear metoduyla Listenin içindeki value değerlerin tamamı silinir. Clone metoduylada farklı bir Arraylist nesnesine kopyalama işlemleri yapılır.Bu metotların hepsini tanımlamak yerine sizlere balık tutmayı öğretmek amacıyla .Net Framework un Tüm sınıflarına ve onların metotlarına erişmenin ve onların ne anlamlara geldiğini tanımlarıyla beraber aldıkları parametreleri göstereceğim.Şimdi herhangi bir sınıf adının üstüne gelip sağ tıklayalım aşağıdaki ekranın çıkması gerekiyor:
Yukarıda İşaretli Go To Definition kısmına tıkladığımız zaman karşımıza gelecek ekranda Arraylist e ait özellikler bulunacaktır ve burada Arraylist sınıfına ait olan tüm metotlar ve aldıkları parametreler gösteriliyo olacaktır.Ayrıca Ordan herbir parametrenin ne işe yaradığınıda görebilirsiniz.
Bu kadar Ayrıntıdan sonra şimdi dönelim bu konuda yaptığım uygulamaya…İşte kodları
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“\t\tMEHMET SALIH DEVECI\n”);
ArrayList list = new ArrayList();
string yer = “Yazilim Alemi”;
list.Add(yer);
for (int i = 0; i < 5; i++)
list.Add(i);
Console.WriteLine(“\tArrayListin elemanları:”);
foreach (object eleman in list)
Console.WriteLine(eleman);
for (int i = 0; i < 3; i++)
{
list.Remove(i);
}
list.Add(“KTU BILGISAYAR MUHENDISLIGI”);
Console.WriteLine(“\n\tArrayListin Değişmiş Hali”);
foreach (object eleman in list)
Console.WriteLine(eleman);
Console.WriteLine(“\nSuanda Arraylist e {0} eleman Vardir\n”,list.Count);
list.RemoveAt(2);
foreach (object eleman in list)
Console.WriteLine(eleman);
Console.ReadLine();
}
}
}
Şimdide kodun çıktısını görelim:
Kodun çıktısını verdikten sonra bu yazımızın sonuna gelmiş bulunmaktayız hepinize bol şanslar dilerim Esen kalmanız dileğiyle…!!
Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi
İhtiyacınız var [email protected] adresine mail atarak Bizimle iletişime geçebilirsiniz.
– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri
c# ta iki boyutlu array list tanımlayabilir miyiz eğer tanımlayabilirsek nasıl olur ?