C# HashSet Kullanımı

İbrahim     25 Eylül 2017     1131     2    
HashSet<T>, diğer koleksiyonlarda olduğu gibi, bir dizi değeri temsil etmek için kullanılabilir.Optimize edilmiş set koleksiyonudur.Bir HashSet <T> nesnesinin kapasitesi , nesnenin tutabileceği öğe sayısıdır. Nesneye öğeler eklendiğinde, bir HashSet <T> nesnesinin kapasitesi otomatik olarak artar, nesneyi oluşturduğumuzda sınır belirlemize gerek yoktur.Ayrıca bu T değeri herhangi bir veri türü, class nesnesi vs olabilir. 

 

Özellikleri

- HashSet içerisinde eklenen eleman tekrarlayamaz.(Aynı eleman bir kere eklenebilir.)

- Diğer list türlerinden farklı olarak, ekleme sırasına göre listelenmez.Yani eklenen ilk eleman ilk sırada yada son eklenen eleman son sırada gelmez.Kendisine ait bir sıralama yöntemi vardır.

 

Bazı Methodlar

Add()

Remove()

RemoveWhere()

Contains()

 

Add Methodu

Verilerimizi ekleyip ekrana bastıralım.

HashSet<int> veriler = new HashSet<int>();
for (int i = 1; i <= 10; i++)
{
    veriler.Add(i);
}

foreach (int veri in veriler)
{
    Console.WriteLine(veri);
}

 

Remove ve Contains Methodu

Veriler içersinden bir adet veri silmek istediğimizde bu işlemi yapıyoruz.Burada veriler içersinde 5 değeri varsa sil diyoruz.

HashSet<int> veriler = new HashSet<int>();
for (int i = 1; i <= 10; i++)
{
    veriler.Add(i);
}

foreach (int veri in veriler)
{
    Console.WriteLine(veri);
}

if(veriler.Contains(5))
    veriler.Remove(5);

 

RemoveWhere Methodu

Verileri komple silmek istersek bu methodu kullanıyoruz.

HashSet<int> veriler = new HashSet<int>();
for (int i = 1; i <= 10; i++)
{
    veriler.Add(i);
}

foreach (int veri in veriler)
{
    Console.WriteLine(veri);
}

veriler.RemoveWhere(x=>Convert.ToBoolean(x));

 

Veriler içersinde belli bir kısmı silmek istersek, örneğin tek sayıları silmek istediğimizi düşünelim.Bunun için şöyle bir komut yazarız.

HashSet<int> veriler = new HashSet<int>();
for (int i = 1; i <= 10; i++)
{
    veriler.Add(i);
}

foreach (int veri in veriler)
{
    Console.WriteLine(veri);
}

veriler.RemoveWhere(x => x % 2 == 1);

 

HashSet ile anlatacaklarım bu kadar arkadaşlar.İyi Kodlamalar.

Detaylı bilgi için : 

https://msdn.microsoft.com/tr-tr/library/bb359438(v=vs.110).aspx

  adresini ziyaret edebilirsiniz.


Etiketler:  
csharp
hashset
list
dictionary
foreach


Paylaş:  

Bir Cevap Yazın

K

Kenan Bozkurt 14 Ağustos 2018
Çok teşekkürler

İbrahim Çakal 16 Ağustos 2018
İşinize yaradığına sevindim.