[C#] ArrayList [Console App.] -LosT-

LosT

Yaşayan Forum Efsanesi
5 Şub 2015
8,116
31
-
Merhabalar. Direk konuya geçiyorum C# Kütüphanesindeki ArrayList nasıl kullanılır onu anlatacağım ve bir örnek uygulamayı da sizlerle paylaşacağım.

ArrayList direk açıp kodlarsanız çalışmaz hata verir. İlk önce kütüphaneyi eklememiz gerekli. En üstte using System.Collection; kodunu ekleyin.
Şu şekil;
1dm7Pb.png


Artık kullanabiliriz.

Normal Dizilerden Farkı: Normal dizilerde yalnızca tek türden veri depolayabilirken ArrayList' de her türden (boolean, stringer, integer, char vb.) veri depolayabiliyoruz.


Özellikleri;
Capacity: ArrayList'in kapasitesini int türünden verir.
Kod:
diziAdi.Capacity();
Count: Eleman sayısını int türünden verir.
Kod:
diziAdi.Count();

Metotlar;
Add: Bir veriyi ArrayList' in en sonuna ekleme yapar.
Kod:
diziAdi.add(veri);
Insert: Veryi ArrayList' in belirtilen pozisyona (index'e) ekleme yapar.
Kod:
diziAdi.Insert(indexNumarası, veri);
Remove: Belirtilen veriyi dizide varsa siler.
Kod:
diziAdi.Remove(veri);
RemoveAt: Belirtilen index'teki veriyi dizide varsa siler.
Kod:
diziAdi.RemoveAt(indexNumarası);
Sort: Dizideki verileri Alfabetik sıraya göre sıralar.
Kod:
diziAdi.Sort();


Bir de örnek uygulamamız var demiştik. Çok uzun bir uygulama oldu bu yüzden renklendiremeyeceğim kusura bakmayın. Siz kopyala yapıştır yapıp kendi IDE'nizde görüntüleyebilir, çalıştırabilirsiniz.

Uygulama: Kişi ekleme, sıralama, arama, silme, ekrana yazdırma işlemlerini yapan programın [C#] kodları.
Kod:
ArrayList uyeler = new ArrayList();
            uyeler.Add("Mehmet");
            uyeler.Add("Ahmet");
            uyeler.Add("Ziya");
            uyeler.Add("Furkan");
            menu:
            Console.WriteLine("-------- Ana Menü --------");
            Console.WriteLine("Üye Ekle = 1");
            Console.WriteLine("Üye Ara = 2");
            Console.WriteLine("Üye Sırala = 3");
            Console.WriteLine("Üye Sil = 4");
            Console.WriteLine("Üyeleri Yazdır = 5");
            Console.WriteLine("Programdan Çık = 0");
            Console.WriteLine("---------------------------------");            
            Console.Write("Seçim = ");
            string secim = Console.ReadLine();
            switch (secim)
            {
                case "0":

                    break;
                case "1":
                    Console.Write("Eklenecek Üye Sayısı: ");
                    int a = Convert.ToInt16(Console.ReadLine());

                    for (int i = 1; i <= a; i++)
                    {
                        Console.Write("Ad Soyad: ");
                        string d = Console.ReadLine();
                        uyeler.Add(d);
                    }
                    Console.WriteLine("\n--- Ana Menu ---");
                    Console.WriteLine("Ana Menu = 0");
                    Console.WriteLine("------------------");
                    Console.Write("\nSeçim = ");
                    int s = Convert.ToInt16(Console.ReadLine());
                    if (s == 0)
                        goto menu;
                        break;
                case "2":
                        Console.WriteLine("--- Üye Arama ---");
                        Console.WriteLine("Üye İsmi = ");
                        string ara = Console.ReadLine();
                        int deger = uyeler.IndexOf(ara);
                        if (deger < 0)
                            Console.WriteLine("Böyle Bir Kayıtlı Üyemiz Bulunmamakta.");
                        else
                        {
                            Console.WriteLine(ara + " Veritabanında Kayıtlı.");
                        }
                            Console.WriteLine("\n--- Ana Menu ---");
                            Console.WriteLine("Ana Menu = 0");
                            Console.WriteLine("------------------");
                            Console.Write("\nSeçim = ");
                            int p = Convert.ToInt16(Console.ReadLine());
                            if (p == 0)
                                goto menu;
                    break;
                case "3":
                    Console.WriteLine("\n--- Üye Sıralama ---");
                    uyeler.Sort();
                    foreach (object sırala in uyeler)
                        Console.WriteLine(sırala);
                     Console.Write("\nSeçim = ");
                            int o = Convert.ToInt16(Console.ReadLine());
                            if (o == 0)
                                goto menu;

                    break;
                case "4":
                    Console.WriteLine("\n--- Üye Silme ---");
                tekrar:
                    Console.WriteLine("Silinecek Üye = ");
                    string silinecek = Console.ReadLine();

                    int varmi = uyeler.IndexOf(silinecek);
                    if (varmi < 0)
                    {
                        Console.WriteLine("Zaten Böyle Bir Üye Yok.");
                        goto tekrar;
                    }
                    else
                    {
                        uyeler.Remove(silinecek);
                    }

                    break;
                case "5":
                    Console.WriteLine("\n--- Üyeleri Yazdır ---");
                    Console.WriteLine("- Üyeler - ");
                    foreach (object listele in uyeler)
                        Console.WriteLine(listele);
                    break;
                default:
                    Console.WriteLine("Yanlış Seçim! Ana Menüye dönülüyor...");
                    goto menu;
                    break;
            }








Konu bana aittir. İzinsiz (ç)almayınız.
İyi Forumlar...
 

LosT

Yaşayan Forum Efsanesi
5 Şub 2015
8,116
31
-
saol onuda yaptim da arama yaparken sadece isimle yapabiliyormuyuz simdiki hal hem isim, soyisim, mail ve yas yazmak gerekiyor aratmak icin

Aynı diziye aktardıysan Contains ile arayabilirsin. Varsa true değerini döndürür.

Kullanımı:
Kod:
for ( int i = 0; i < dizi.Lenght; i++ )
 if (dizi[i].Contains == aranandeger)
 {
   Console.WriteLine("Kullanıcı Kayıtlı");
   break;
  }

Yanlış yazmış olabilirim çalışma ortamında değilim.
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.