Serdar YILMAZ
Bizimkisi Bir “Bug” Hikayesi...
Serdivan/Sakarya
Serdar Yılmaz C# – BitArray Sınıfı

C# – BitArray Sınıfı

dotnetC# – Koleksiyonlar” başlıklı yazımızda koleksiyonların avantajlarından, dezavantajlarından bahsedip, genel bir bilgi vermiştik. Bu yazımızda ise bir koleksiyon sınıfı olan BitArray‘den bahsedeceğiz.

BitArray Sınıfının Temel Yapısı

BitArray, isminden de anlaşılacağı üzere bir bit dizisidir ve yalnızca TrueFalse değerlerini içermektedir. Bitleri saklamak haricinde And,Or, Xor gibi mantıksal işlemleri de gerçekleştirebilmektedir.

BitArray diğer koleksiyon sınıfları gibi dinamik bir yapıya sahiptir. Yani boyutu dinamik olarak artmaktadır. Ayrıca standart diziler gibi BitArray’ler de indekslenebilir. Bir elemanın değerini almak ya da değiştirmek için indeksleyiciyi kullanabilirsiniz.

BitArray Sınıfındaki Yapılandırıcılar

BitArray sınıfından nesne oluştururken kullandığımız 6 adet yapılandırıcı bulunmakta.

  1. BitArray(bool[] bitler)
    bitler dizisi içerisinde yer alan elemanlar, sıraları dahi değiştirilmeden koleksiyon içerisine eklenecektir.
  2. BitArray(byte[] Sayilar)
    Byte tipinde tanımlanan bir dizi içerisindeki tüm sayılar 8 bit ile ifade edilmektedir. Sayilar dizisi içerisinde 3 adet sayı bulunmaktadır ve her biri 8 bit ile ifade edileceğinden koleksiyon içerisindeki bit sayısı 24 olacaktır. İlk 8 bit Sayilar dizisinin birinci elemanını(Sayilar[0]), ikinci 8 bit Sayilar dizisinin ikinci elemanını(Sayilar[1]) ve üçüncü 8 bitte Sayilar dizisinin üçüncü elemanını(Sayilar[2]) belirtecektir.
  3. BitArray(int[] Sayilar)
    İnt tipinde tanımlanan bir dizi içerisindeki tüm sayılar 32 bit ile ifade edilmektedir. Sayilar dizisi içerisinde 3 adet sayı bulunmaktadır ve her biri 32 bit ile ifade edileceğinden koleksiyon içerisindeki bit sayısı 96 olacaktır. İlk 32 bit Sayilar dizinin birinci elemanını(Sayilar[0]), ikinci 32 bit Sayilar dizisinin ikinci elemanını(Sayilar[1]) belirtecek şekilde…
  4. BitArray(int buyukluk)
    Argüman olarak girdiğimiz sayı büyüklüğünde bir BitArray oluşturmaktadır. Aşağıdaki örneğimizde 20 bitlik bir bit dizisi oluşturduk. Koleksiyon içindeki bitlere ilk değer olarak False atanacaktır.
  5. BitArray(int buyukluk, bool deger)
    Bu yapılandırıcıda, bir önceki yapılandırıcıdan farklı olarak koleksiyon içerisindeki bitlerin ilk değerlerini de belirte biliyoruz. Aşağıdaki örnekte 20 bitlik bir bit dizisi oluşturduk ve bu bitlere ilk değer olarak True atadık.
  6. BitArray(BitArray bitDizisi)
    Mevcut olan bir BitArray’den yeni bir BitArray oluşturabiliriz.

Metotlar ve Özellikler

  1. Count ve Length Özellikleri
    Count, BitArray’in büyüklüğünü döndüren salt okunur bir özelliktir. Length ise BitArray’in büyüklüğünü döndürmekle beraber değiştirebilen bir özelliktir. Eğer BitArray küçültülürse uçtaki yüksek değerlikli bitler kaybolacaktır, büyütülürse de uç kısma sıfır değerinde bitler eklenecektir.
  2. Not(), And(), Or() ve Xor() Metotları 
    Not() metodu, çağrıda bulunulan koleksiyon üzerinde mantıksal değil işlemi gerçekleştirip, sonucu bir BitArray olarak döndürür. And(), Or() ve Xor() Metotları ise iki BitArray koleksiyonunu mantıksal VE, VEYA, ÖZEL VEYA işlemine tabi tutup sonucu bir BitArray olarak döndürür.
  3. Set(int i, bool v) ve SetAll(bool v) Metotları 
    Set() Metodu, i. indeksteki bite belirtilen v değerini(True/False) atar. SetAll() metodu ise koleksiyondaki tüm bitlere v değerini(True/False) atar.
  4. Get(int i) Metodu 
    i. indeksteki bitin değerini(True/False) döndürür.

Serdar Yılmaz


Bu İçeriği Arkadaşlarınızla Paylaşmak İster misiniz?

2 Yorum

  1. Samet
    5 Şubat 2018 de 23:42 · Cevapla

    Teşekkür ederim, buna ihtiyacım vardı.

Bir Yorum Yapın