
Bu makalemizde arraylist kullanarak basit bir personel kayıt programı yapacağız.Bir diziyi arraylist sınıfından tanımlamak demek dizinin boyutunun ihtiyaç duyuldukça arttırılması veya azaltılması demktir.10 elemanımız ve 10 elemanlı bir dizimiz varsa ve listeye yeni eleman eklemek isteniyorsa dizinin elemanını ihtiyaç duyuldukça arttırabilirsiniz.Üstelik diznin eski hali korunacaktır.Aynı durum diznin boyutunu azaltmak içinde geçerlidir.
Arraylist sınıfı diziye her eleman eklendiğinde dizi boyutu arttırmaz Bunun yerine ilk etapta 4 elemanlı bir dizi oluşturur.İlk 4 elemanda dizinin noyutu sabit kalır.5. eleman eklendiğinde dizi boyutu 2 katına çıkarılır.
Not:Arraylist sınıfını kullanabilmek için öncelikle ;
using System.Collections; kütüphanesini çağırmalıyız.
Arraylist Fonksiyonları
Capacity:Bu özellik ile dizinin o anki boyutu öğrenilir.
TrimToSize():Dizi kapasitesi dizinin eleman sayısı olacak şekilde küçültür.
Add(eleman):Diziye eleman ekler.
Count:Dizin eleman sayısını verir.
Clear():Dizinin tüm elemanlarını siler.
Remove(eleman):Yazılan elemanı siler.
RemoveAt(ElemanNo):İndise göre elemanı siler.
IndexOf(Eleman):Yazılan elemanın bulur ve geriye insi değerini yollar.
IndexOf(Eleman, Başlangıç):Yazılan elemanı başlangıç indisinden başlayarak arar ve bulduğunda geriye indis değerini gönderir.
Aşağıda arraylist kullanılarak yapılmış bast bir program mevcuttur.Projemizi buradan indirebilirsiniz.
Projemizi buradan indirebilirsiniz.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace dinamik_dizi_deniz_tanir
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
struct personel
{
public string ad, meslek, babaadi, dogumyeri, soyad;
public override string ToString()
{
return "ADI=" + ad + ", SOYADI= " + soyad + " , MESLE= " + meslek + ",BABA ADI=" + babaadi + ",DOUM YER=" + dogumyeri;
}
}
ArrayList Pers = new ArrayList();
private void label4_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
personel p;
p.ad = textBox1.Text;
p.soyad = textBox2.Text;
p.meslek = textBox3.Text;
p.babaadi = textBox4.Text;
p.dogumyeri = textBox5.Text;
Pers.Add(p);
label8.Text = Pers.Count.ToString();
label9.Text = Pers.Capacity.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
int i;
Form2 frm = new Form2();//Form2 adında bir form oluşturduk ve içine bir listbox koyduk
for (i = 0; i <= Pers.Count - 1; i++)
frm.listBox1.Items.Add(Pers[i].ToString());
frm.Show();
}
}
}
Yorumlar2
c# da dizilerde elemen ekleyip daha sonra herhangi bir elemanı seçip (ör: sectiğimiz eleman 9, 12 olarak değiştirme,arttırma) nasıl arttırırız?
çok acil sınava gireceğim.....,
array list ile ilgili anahtar kelimeler vermişsiniz düzenlemeyle ilgili kulanış seklleriyle ilgili birer örnek verirseniz memnun olurum. ayrıca yapmış oldugnuz yukaridaki proje acıklama satırsız bilmiyen bi insana hicbir sekilde bişi ifade etmez yukardaki komutların üstüne acıklama satırı olarak o kodda hangi iişlemi yaptıgınızı belirtmelisiniz ben 11 snif veri t. ögrencisiyim baska projeleriniz varsa ögrenmekten memnun kalırım.C# la ilgili her komutu neler yapıla bilecegimi ögretirseniz memnun olurum okulda yüzelsel olarak görüyoruz.Online egitim siteniz varsa katılmak isterim.Ayrıca calısmalarınza destekte verebilirm.
iletişim=05314648919
Yorumlarınızı Bekliyoruz
Yorum Yazın