C# Dinamik Diziler (ArrayList) NTP2.1 #2

70
views

Merhabalar, bu yazıda bulunan örnekler Nesne Tabanlı Programlama dersinin 2. Dönem 1. Yazılı soruları konuları düşünülerek bir lise öğrencisi tarafından hazırlanmıştır. Tahmini olarak çıkabileceği düşünülen sorular bulunmaktadır.

C# Dinamik Dizi Nedir?

Dinamik dizi, normal bir dizi oluşturma temelinden biraz farklıdır. Normal bir dizi oluşturduğumuzda verdiğimiz veri türü dışında başka bir ver girişi yapamazdık eğer yaptığımız zaman hata alırdık. Nedir ki bu ArrayList’i dinamik yapan diyebilirsiniz. ArrayList’i dinamik yapı içerisine katan özellliği dizinin tüm veri türlerine karşın veri girişi sağlayabilir olmasıdır ve dizinin bellekte harcayacağı yeri mendi belirlemesidir. Kaç elemanlı olup olmadığını girilen elemanlara göre kendisi bellekte yer oluşturmaktadır. Ancak normal bir dizide kendimiz dizinin kaç elemanlı olduğunu ayarlıyabilmekteydik ve dizi için bellekte ona göre yer ayrılmakta oluyordu o diziye veri girişi yapmasak bile bellekte eleman sayısına göre yer ayrılıyordu ancak dinamik dizide ArrayList komuturda öyle olmamaktadır.

ArrayList nasıl oluşturulur ?

ArrayList diziAdi =new ArrayList();

ArrayList dinamikDizi=new ArrayList();

Ancak ArrayList oluşturmadan önce c# kütüphanelerimize ekleme yapmamız gerekir.

Koleksiyon sınıfını eklememiz gerekir

using System.Collections;

ArrayList Özelliklerini Bir örnek üzerinden giderek anlatalım.

Tasarım Kısmı
ArrayList dinamikDizi = new ArrayList();
private void Form1_Load(object sender, EventArgs e)
{//Add komutu ile dinamik dzimize eleman ekliyoruz.
dinamikDizi.Add(5);
dinamikDizi.Add(10);
dinamikDizi.Add(15);
dinamikDizi.Add(16);
dinamikDizi.Add("Derman");
dinamikDizi.Add("Bilişim Teknolojileri");
dinamikDizi.Add("Veri Tabanı Programçılığı");
dinamikDizi.Add('!');
dinamikDizi.Add(10.5);
}
private void btnEkle_Click(object sender, EventArgs e)
{//TextBox'taki girilen veriyi dinamik diziye ekleme
dinamikDizi.Add(txtEleman.Text);
}
private void btnSırala_Click(object sender, EventArgs e)
{//foreach ile dinamik dizi içerisindeki elemanları listeleme
foreach (object obje in dinamikDizi)
{
lstBxElemanlar.Items.Add(obje);
}
}
private void btnSil_Click(object sender, EventArgs e)
{//TextBox'ta girilen index değerine dinamik dizi'deki o index'e ait elemanı silme.
int inx;
inx = Int32.Parse(txtEleman.Text);
dinamikDizi.RemoveAt(inx);
}
private void btnAra_Click(object sender, EventArgs e)
{//dinamik dizi içerisinde string değer arar
string ara;
ara = txtEleman.Text;
if (dinamikDizi.Contains(ara) == false)
{
MessageBox.Show(ara + " aradığınız kelime bulunamamıştır.");
        }
        else
        {
            MessageBox.Show(ara + " aradığınız kelime bulunmuştur.");
        }
    }
    private void btnTersSırala_Click(object sender, EventArgs e)
    {//dinamik dizi içerisindeki elemanları ters sıralar
        dinamikDizi.Reverse();
        foreach (object obje in dinamikDizi)
        {
            lstBxElemanlar.Items.Add(obje);
        }
    }
    private void btnKacEleman_Click(object sender, EventArgs e)
    {//dinamik dizi içerisinde kaç eleman olduğunu gösterir.
        int toplamEleman = dinamikDizi.Count;
        MessageBox.Show(toplamEleman.ToString());
    }
    private void btnTumunuTemizle_Click(object sender, EventArgs e)
    {//listBox içerisindeki verileri temizler.
        lstBxElemanlar.Items.Clear();
    }
    private void btnYazilaniSil_Click(object sender, EventArgs e)
    { //textBox içerisinde veri elemanlar arasında var ise dinamik dizi'den temizler.
        string yazilan = txtEleman.Text;
        dinamikDizi.Remove(yazilan);
    }

    private void btnTumElemanlariTemizle_Click(object sender, EventArgs e)
    {//dinamik dizi icerisinde var olan tüm elemanları temizler.
        dinamikDizi.Clear();
    }

    private void btnSayiAra_Click(object sender, EventArgs e)
    {//dinamik dizi içerisinde int değeri arar
        int ara = Int32.Parse(txtEleman.Text);
        if (dinamikDizi.Contains(ara) == false)
        {
            MessageBox.Show(ara + "  aradığınız sayı bulunamamıştır.");

        }
        else
        {
            MessageBox.Show(ara + " aradığınız sayı bulunmuştur.");
        }
Önceki İçerikC# Dizi Örnekleri #NTP2.1
Sonraki İçerikVPN SOURCE FULL APK İNDİR
Veri Tabanı Programcılığı Öğrencisi, C#-Arduino-Electron ve Html&Css , Robot&3d meraklısı, Technoares & Sitebak kurucusu
Paylaş