C# Console Dinamik Diziler

Dinamik Diziler

Şimdiye kadar gördüğümüz klasik dizilerin programlama tekniklerine getirdikleri kolaylıkların dışında birtakım kısıtlamaları da vardır.

  1. Bu kısıtlamaların en başında da dizilerin boyutları gelmektedir. Bir dizinin boyutu, dizi tanımlanırken belirlenir ve programın akışı esnasında genişletilip-daraltılamazdı.
  2. Programın başlangıcında 250 elemanlı bir dizi tanımladık ve bunun yalnızca 120’sini kullandık, geriye kalan 130 elemanlık bellek alanı ise boşu boşuna bellekte yer kaplamış olur.
  • İşte dizilerde sıkça karşılaşılan bu kısıtlamalar ArrayList sınıfı ile çözümlenir.

ArrayList, büyüklüğü, dinamik olarak artıp azalabilen nesne referanslarından oluşan değişken uzunlukta biz dizidir. Bu veri yapısı .NET sınıf kütüphanesinin System.Collections  isim alanında bulunur.

  • ArrayList yapısının, bu dinamik boyut dışında bizlere sunduğu bir diğer avantaj da bir  dizi içerisinde saklanacak olan verilerin tür sınırlamasını ortadan kaldırmasıdır. Örneğin bir dizi içerisinde hem int türünden veriler, hem string türünden veriler, hem char türünden veriler hem de bool türünden veriler saklamak mümkündür.

Kullanımı

ArrayList diziAdi=new ArrayList();
ArrayList’leri örneklerimizde kullanmadan önce sizlere ArrayList’ler ile sıkça kullandığımız bazı metotlardan ve özelliklerden bahsetmemizde fayda olacaktır.

Özellikler:

Capacitiy: ArrayList’in kapasitesini int türünde verir.

Count: ArrayList içerisindeki eleman sayısını int türünde verir.

Metotlar:

Add: Bir nesneyi ArrayList’in sonuna eklemeye yarar.

Insert: Belirtilen indeks pozisyonuna nesneyi eklemeye yarar.

Remove: Belirtilen nesne ArrayList içerisinde varsa siler.

RemoveAt: İndeks değeriyle belirtilen pozisyondaki elemanı siler.

Sort: ArrayList içerisindeki elemanları sıralar.

Capacity Özelliği:

ArrayList’in kapasitesini int türünde veren özelliktir.
Kullanımı

int kapasite=liste.Capacity;


Count Özelliği:

ArrayList içerisinde bulunana eleman sayısını int türünde veren özelliktir.

Kullanımı:

int elemanSayisi=liste.Count;


Add Metodu:

Bir nesneyi ArrayList’in sonuna eklemeye yarar.

Insert Metodu:

Parametre olarak belirtilen indeks değerine yine parametre olarak verilen nesneyi ekler. Ekleme işleminden önce o indeksteki ve o indeksten sonraki tüm değerler birer sonraki indekslere kaydırılır.

Kullanımı:

liste.Insert(5,123); //5 nolu indekse 123 değerini ekler.

Remove Metodu:

Belirtilen nesne ArrayList içerisinde varsa siler.

Kullanımı:

liste.Remove(nesne);

RemoveAt Metodu:

Parametre olarak verilen indeks konumundaki elemanı siler.

Kullanımı:

liste.RemoveAt(indeks); //indeks olarak verilen konumda bulunan

elemanı siler.

Sort Metodu:

ArrayList içerisindeki elemanları küçükten büyüğe sıralar.

Kullanımı:

liste.Sort();

Örnek Program

Not:Programın çalışabilmesi için System.Collections  kütüphanesinin eklenmesi gerekiyor.


int i;
ArrayList liste = new ArrayList();

liste.Add(123); //int türünde değer ekleme
liste.Add("Çumra Teknik Eml"); //string türünde değer ekleme
liste.Add('H'); //char türünde değer ekleme
liste.Add(true); //bool türünde değer ekleme
liste.Add(3.14d); //double türünde değer ekleme
liste.Add(3.666f); //float türünde değer ekleme

foreach (object obj2 in liste)
 Console.WriteLine(obj2);

int kapasite = liste.Capacity;
 Console.WriteLine("-------Kapasitesi-----{0}", kapasite);

int elemanSayisi = liste.Count;
 Console.Write("-------Eleman Sayısı---{0}",elemanSayisi);

Console.ReadKey();

Insert Metodu:

Parametre olarak belirtilen indeks değerine yine parametre olarak verilen nesneyi ekler. Ekleme işleminden önce o indeksteki ve o indeksten sonraki tüm değerler birer sonraki indekslere kaydırılır.

Kullanımı:

liste.Insert(5,123);  //5 nolu indekse 123 değerini ekler.

Remove Metodu:

Belirtilen nesne ArrayList içerisinde varsa siler.

Kullanımı:

liste.Remove(nesne);

RemoveAt Metodu:

Parametre olarak verilen indeks konumundaki elemanı siler.

Kullanımı:

liste.RemoveAt(indeks); //indeks olarak verilen konumda bulunan

elemanı siler.

Sort Metodu:

ArrayList içerisindeki elemanları küçükten büyüğe sıralar.

Kullanımı:

liste.Sort();
Örnek2:Bu örnekte araya eleman ekleme,silme,istenilen indeksteki elemanı silme işlemleri anlatılmaktadır.

ArrayList liste = new ArrayList();
 for (int i = 0; i < 10; i++)
 liste.Add(i);
 Console.WriteLine("Insert işleminden önce liste:");
 foreach (object obj in liste)
 Console.WriteLine(obj);
 liste.Insert(5, 123);
 liste.Insert(5, "Çumra Teknik Eml");
 liste.Insert(5, 'H');
 liste.Insert(5, true);
 liste.Insert(5, 3.14d);
 liste.Insert(5, 3.666f);
 liste.Remove(123);
 liste.RemoveAt(2);
 Console.WriteLine("Insert işleminden sonra liste:");
 foreach (object obj2 in liste)
 Console.WriteLine(obj2);
 Console.ReadKey();

Çalışma Soruları

1-      0’dan klavyeden girilen sayıya kadar olan sayılardan

  • Tek olanları tekSayilar dizisinde,
  • Çift olanları da ciftSayilar dizisinde saklayan daha sonra bu dizileri ayrı ayrı ekrana yazdıran programı yazınız.

2- Bir öğrenciye ait 3 yazılı ve 2 sözlü notunu bir dizi içerisinde saklayan ve daha sonra bu notların ortalamasını hesaplayan

  • Ortalama 45’e eşit ya da büyükse ekrana “Dersi Geçtin”,
  • Değilse “Dersten Kaldın” yazdıran programın kodunu yazınız.

3-Sınıftaki arkadaşlarınızın

  •  isim,
  •  telefon,
  •  e-posta adresi

Bilgilerini saklayacağınız diziler oluşturup bu bilgileri bir döngü yardımıyla bu dizilere kaydeden,

Daha sonra klavyeden girilen isme ait bilgileri ekrana getiren, Eğer klavyeden
girilen isim kayıtlarda bulunamazsa ekrana “Kayıt bulunamadı” mesajı veren
programın kodunu yazınız

İsimler, telefon ve e-posta adresleri için ayrı ayrı diziler oluşturunuz.
Bir kişiye ait bilgilerin indeks numaralarının 3 dizide de aynı olmasına
dikkat ediniz.
Dizilerde arama metodu ile ilgili örneği inceleyin ve isim dizisinde klavyeden
girilen isme göre arama yaptırınız.
Dönen sonuca göre ilgili bilgileri mesajı ekrana yazdırınız.

4-Klavyeden bir dizi boyutu girin. Daha sonra dizi boyutu kadar ondalıklı sayıyı bu dizi içerisine ekleyin.  Diziye eklenen bu sayıların

Toplamını,
Aritmetik ortalamasını,
En büyük değerini
En küçük değerini ekrana yazdıran programı yazınız.

4.474 defa okundu.

  • No Related Post

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Powered by WordPress | Designed by: credit repair | Thanks to st louis web design, essay writing and fire glass
c# örnekleri , csharp örnekleri , c# örnek , C# Örnekleri , örnekleri c# , C# ÖRNEKLERİ
BTT Sınavları

C# Uygulamaları

Müdür Yardımcılığı Sınavına Hazırlık Sayfası

Müdür Yardımcılığı Çalışma Notları

C# Uygulamaları

Yazılı Soruları Php Dersleri Bilişim Teknolojileri Alanı Yazılı Soruları C# Dersleri C# Örnekleri