Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

คลาส BitArray ใน C #


คลาส BitArray จัดการอาร์เรย์ขนาดเล็กของค่าบิต ซึ่งแสดงเป็นบูลีน โดยที่ true ระบุว่าบิตเปิดอยู่ (1) และ false ระบุว่าบิตปิดอยู่ (0)

ตารางต่อไปนี้แสดงวิธีการที่ใช้กันทั่วไปของคลาส BitArray -

ซีเนียร์ วิธีการ &คำอธิบาย
1 BitArray สาธารณะและ(ค่า BitArray);
ดำเนินการระดับบิตและดำเนินการกับองค์ประกอบใน BitArray ปัจจุบันกับองค์ประกอบที่เกี่ยวข้องใน BitArray ที่ระบุ
2 บูลสาธารณะ Get(int index);
รับค่าของบิตที่ตำแหน่งเฉพาะใน BitArray
3 ไม่ BitArray สาธารณะ ();
กลับค่าบิตทั้งหมดใน BitArray ปัจจุบัน ดังนั้นองค์ประกอบที่ตั้งค่าเป็นจริงจะเปลี่ยนเป็นเท็จ และองค์ประกอบที่ตั้งค่าเป็นเท็จจะเปลี่ยนเป็นจริง
4 BitArray สาธารณะหรือ(ค่า BitArray);
ดำเนินการระดับบิต OR กับองค์ประกอบใน BitArray ปัจจุบันกับองค์ประกอบที่เกี่ยวข้องใน BitArray ที่ระบุ
5 ชุดโมฆะสาธารณะ (ดัชนี int, ค่าบูล);
ตั้งค่าบิตที่ตำแหน่งเฉพาะใน BitArray เป็นค่าที่ระบุ
6 โมฆะสาธารณะ SetAll(ค่าบูล);
ตั้งค่าบิตทั้งหมดใน BitArray เป็นค่าที่ระบุ
7 BitArray Xor สาธารณะ(ค่า BitArray);
ดำเนินการ OR แบบเอกสิทธิ์เฉพาะระดับบิตกับองค์ประกอบใน BitArray ปัจจุบันกับองค์ประกอบที่เกี่ยวข้องใน BitArray ที่ระบุ

ตัวอย่าง

เรามาดูตัวอย่างกัน −

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      BitArray arr1 = new BitArray(2);
      BitArray arr2 = new BitArray(2);
      arr1[0] = false;
      arr1[1] = true;
      Console.WriteLine("Elements in BitArray1...");
      foreach (bool res in arr1){
         Console.WriteLine(res);
      }
      arr2[0] = false;
      arr2[1] = true;
      Console.WriteLine("Elements in BitArray2...");
      foreach (bool res in arr2){
         Console.WriteLine(res);
      }
      Console.WriteLine("Is BitArray1 equal to BitArray2? = "+arr2.Equals(arr1));
      Console.WriteLine("Is BitArray synchronized? = "+arr2.IsSynchronized);
      Console.WriteLine("Is BitArray read-only? = "+arr2.IsReadOnly);
   }
}

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

Elements in BitArray1...
False
True
Elements in BitArray2...
False
True
Is BitArray1 equal to BitArray2? = False
Is BitArray synchronized? = False
Is BitArray read-only? = False

ตัวอย่าง

ให้เราดูตัวอย่างอื่นเพื่อใช้การดำเนินการ OR แบบเอกสิทธิ์เฉพาะของ Bitwise ระหว่างองค์ประกอบของ BitArray -

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      BitArray arr1 = new BitArray(5);
      BitArray arr2 = new BitArray(5);
      arr1[0] = false;
      arr1[1] = false;
      arr2[0] = false;
      arr2[1] = true;
      Console.WriteLine("BitArray1 elements...");
      foreach (bool res in arr1){
         Console.WriteLine(res);
      }
      Console.WriteLine("\nBitArray2 elements...");
      foreach (bool res in arr2){
         Console.WriteLine(res);
      }
      Console.WriteLine("\nBitwise exclusive OR operation...");
      IEnumerable demoEnum = arr1.Xor(arr2);
      foreach(Object ob in demoEnum){
         Console.WriteLine(ob);
      }
   }
}

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

BitArray1 elements...
False
False
False
False
False

BitArray2 elements...
False
True
False
False
False

Bitwise exclusive OR operation...
False
True
False
False
False