1. Ana Sayfa
  2. C Sharp

C# Dizi ve ArrayList Kullanımı

C# Dizi ve ArrayList Kullanımı
+ - 0

C# Dizi ve ArrayList Kullanımı dersimiz ile c sharp eğitimlerimize devam ediyoruz. C Sharp Dizi kullanımı değişken tanımlama yapar gibi tanımlanarak kullanılır ve köşeli parantezler ile belirtilir. Avantajları olduğu kadar dezavantajları da vardır. Dizi sınıfında değişken sayısı sınırlıdır. kullanmadığınız değişkenler bellekte boş yer kaplar. Diziyi oluşturan tüm elemanlar aynı türden olmalıdır. Yani dizi int ise elemanları da int olmalıdır.

Diyelim ki 500 elemanlı bir dizi belirlediniz. Ama derlemede en fazla on tane eleman yüklediniz. Kalan 490 elemanlık alan boş yere bellekte yer tutacaktır. Ancak 501 tane eleman yüklemek istediğinizde IndexOutOfRangeException hatası alacaksınız ve program kırılacaktır(sonlanacaktır).

Ancak ArrayList, dizinin getirdiği dezavantajları daha aza indirgemek için üretilmiştir. Dizilerde olduğu gibi eleman sayı ve tür sınırlaması yoktur. Eleman sayısı dinamik olarak değişir ve elemanlar obje türünde tutulduğundan istediğiniz türde elemanları yükleyebilirsiniz. Dizilere göre daha yavaştır. ArrayList kullanabilmeniz için projenize .NET sınıf kütüphanesinin System.Collections namespace’ini using kısmına etmelisiniz.

c# arraylist örnekleri

C Sharp Dizi ve ArrayList Kullanımı

Dizi Kullanımı

            int[] _dizi = new int[50];
            // köşeli parantez eklediğimizde değişkeni dizi olarak değiştirmiş olduk
            // new int[50] tanımlaması ile de bu dizinin en fazla 50 eleman alacağını belirttik.

            // ArrayList 'e göre dezavantajları olsa da bazı yerlede kullanmamız gerekecektir.

            for (int i = 0; i < 49; i++)
            {
                _dizi[i] = i;
                // for döngüsü ile dizinin içerisini doldurduk
                // For döngüsüi döngü sayısında 50 yazsaydık IndexOutOfRangeException hatası alacaktık
                // Çünkü 0 da dahil olduğundan  sayı olarak 51 eleman olacaktı.
            }

Dizi Fonksiyonları (En Çok Kullanılanlar)

            int i1 = 0;
            int[] _dizi = new int[50];
            i1 = _dizi.Count(); // dizinin eleman sayısını verir
            i1 = _dizi.Max(); // dizideki en büyük değeri verir
            i1 = _dizi.Min(); // dizideki en küçük değeri verir
            i1 = _dizi.Sum(); // dizideki int değerlerin toplamlarını verir
            _dizi.Reverse(); // dizideki elemanların sırasını ters çevirir.
            i1 = _dizi.Length; // int32 olarak listenin uzunluğunu verir.

ArrayList Kullanımı

            ArrayList arr = new ArrayList();
            for (int i = 0; i < 10; i++)
            {
                arr.Add(i);
            }
            arr.Add(true);
            arr.Add(false);
            arr.Add("mustafabukulmez.com");
            arr.Add(DateTime.Now);

Örnekte gördüğünüz gibi ArrayList’e bir sınır belirlemedik ve istediğimiz türden değer atayabiliyoruz. ArrayList’i dizilerden ayıran en büyük özellikleri budur.

NOT: Bu zamana kadar hiç ArrayList kullanmadım. Çünkü bir liste yapmam gerektiği durumlarda listelemem gereken elemanların hepsi aynı türden oluyordu. Dizi kullanmadığım zamanlarda ise List<T> kullanıyorum. List<T> kullanımı dersim için tıklayabilirsiniz.

Array List Fonksiyonları (En Çok Kullanılanlar)

            int i2 = 0;
            ArrayList arr1 = new ArrayList();
            ArrayList arr2 = new ArrayList();
            arr1.Add(arr2); // arr2 deki verileri arr1 listesine ekler.
            i2 = arr1.BinarySearch("mustafabükülmez"); // aradığımız öge listede varsa bize index değerini verir.
            i2 = arr1.Capacity; // ArrayList'in ne kadar eleman içereceğini söyleyebilir yada içerdiğini bulabiliriz.
            arr1.Clear(); // liste içeriğini temizler
            arr1.Contains("mustafa"); // aradığımız değerin liste olup olmadığına bakar, bool değer döner.
            i2 = arr1.Count; // listedeki eleman sayısını verir
            i2 = arr1.IndexOf("mustafa"); // aradığımız değerin index sırasını verir.
            arr1.Insert(1, "mustafa"); // listesinin 1. index ine verdiğimiz değeri ekler.
            arr1.Remove("mustafa"); // listeden mustafa değerini siler
            arr1.RemoveAt(0); // 0. indexteki elemanı siler.
            arr1.Reverse(); // listeyi tamamen ters çevirir
            arr1.Reverse(1, 10); // 1. index ile 10. index arasını ters çevirir.
            arr1.Sort(); // listei küçükten büyüğe sıralar.

 

Gördüğünüz gibi dizi ve arraylist kullanımları ve farklı bu şekildedir. Ancak bu basit kullanımlardır. Özellikle dizilerin daha karmaşık kullanım şekilleri de mevcuttur. Örneğin 2 boyutlu yada 3 boyutlu diziler gibi. Daha önce hiç 3 boyutlu dizi kullanmadım ama 2 boyutlu dizi kullanmışlığım vardır. Onları da diğer derslerimizde anlatırım.

c# arraylist example


C Sharp Dizi ve ArrayList Kullanımı dersimizde bu kadar dostlar. Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti ve ERP Programlama ders listesi için tıklayınız. 

Takipte ve sağlıcakla kalınız. ;)

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)