Collections

Collectons’lar, sabit dizilerden farklı olarak dinamik diziler oluşturmamızı sağlar

Biz özellikle ORM dediğimiz veritabanınım programda eşdeğer modelinin oluşturulmasında Colletions öğelerini kullanırız

ArrayList, List, Dictionary birer Collection sınıfına ait elemanlardır

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Collections
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] cities0 = new string[2] { "Ankara", "İstanbul" };
            //cities.Add sabit bir dizi olduğu için böyle birşey ekleyemiyoruz
            //citis[2]="İzmir" aynı şekilde böyle birşey de diyemeyiz çünkü dizimiz sabit 2 elemanlı
            cities0 = new string[3]; //en fazla dizimizin boyutunu bu şekilde arttırabiliriz fakat önceki tanımladığımız veriler silinir
                                     //Çümkü biz new'lediğimiz anda eski reference kaybolur yeni bir referans oluşur

            //Collections();

            //TypeSafetyCollectionsList();

            //Dictionary
            //Dictionary key-value şeklinde değerleri tutan yine Collections sınıfına ait bir yapıdır
            Dictionary<string, string> dictionary = new Dictionary<string, string>();
            dictionary.Add("book","kitap");
            dictionary.Add("table","tablo");
            dictionary.Add("computer","bilgisayar");

            Console.WriteLine(dictionary["computer"]);

            foreach (var item in dictionary)
            {
                //Console.WriteLine(item);
                Console.WriteLine(item.Key);
                Console.WriteLine(item.Value);
            }

            dictionary.ContainsKey("glass"); // glass içeren anahtar var mı? True/False döndürür

            Console.ReadLine();
        }

        private static void TypeSafetyCollectionsList()
        {
            //Type Safety Collections
            List<string> cities = new List<string>();
            cities.Add("İstanbul");
            //cities.Add(1); biz string tipinde olduğunu belirttik dolayısıyla sadece string eleman ekleyebiliriz

            List<Customer> customers = new List<Customer>();
            customers.Add(new Customer { Id = 1, FirstName = "Mehmet" });
            customers.Add(new Customer { Id = 2, FirstName = "Ahmet" });

            foreach (var customer in customers)
            {
                Console.WriteLine(customer);
                Console.WriteLine(customer.Id);
                Console.WriteLine(customer.FirstName);
            }

            //Bu şekilde de customer listesi oluşturabiliriz
            List<Customer> customers2 = new List<Customer>()
            {
                new Customer { Id = 1, FirstName = "Mehmet" },
                new Customer { Id = 2, FirstName = "Ahmet" }
            };
            //Customer Özellikleri
            var count = customers2.Count;   //sayma
            var customerX = new Customer
            {
                Id = 3,
                FirstName = "Elif"
            };
            customers2.Add(customerX);  //ekleme
            customers2.AddRange(new Customer[2]
            {
                new Customer{ Id=4 ,FirstName="Ayşe"},
                new Customer{ Id=5 ,FirstName="Oğuz"}
            });
            //customers2.Clear(); //tüm elemanları siler
            var index = customers2.IndexOf(customerX);  //Kaçıncı sırada olduğu verir
            Console.WriteLine("Index : {0}", index);
            customers2.Insert(0, customerX); //Kaçıncı sıraya neyi eklemek istiyoruz. Diğerlerini de kaydırır
            customers2.Remove(customerX); //bulduğu ilk customerX elemanını siler
            customers2.RemoveAll(c => c.FirstName == "Mehmet"); //tüm FirstName'i "Mehmet" olan elemanları siler


            foreach (var customer in customers2)
            {
                Console.WriteLine(customer.Id + " " + customer.FirstName);
            }

            Console.WriteLine(customers2.Contains(customerX)); //içeriyor mu? True/False döner
        }

        private static void Collections()
        {
            //Collecttions
            ArrayList cities = new ArrayList();
            cities.Add("Ankara");   //ArrayList bir collection öğesidir generic dizi oluşturamamızı sağlar istediğimiz kadar eleman ekleyebiliriz
            cities.Add("Kayseri");
            cities.Add("Bursa");
            cities.Add(1);
            cities.Add('a');
            cities.Add(true);

            foreach (var city in cities)
            {
                Console.WriteLine(city);
            }
        }
    }

    class Customer
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
    }
}

Yorum bırakın

WordPress.com'da bir web sitesi veya blog oluşturun

Yukarı ↑

WordPress.com ile böyle bir site tasarlayın
Başlayın