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