Computer >> Máy Tính >  >> Lập trình >> C#

Lớp BitArray trong C #

Lớp BitArray quản lý một mảng nhỏ gọn các giá trị bit, được biểu thị dưới dạng Boolean, trong đó true cho biết bit đang bật (1) và false cho biết bit đang tắt (0).

Bảng sau liệt kê một số phương thức thường được sử dụng của lớp BitArray -

Sr.No. Phương pháp &Mô tả
1 BitArray công khai Và (giá trị BitArray);
Thực hiện thao tác theo chiều bit AND trên các phần tử trong BitArray hiện tại so với các phần tử tương ứng trong BitArray được chỉ định.
2 public bool Get (int index);
Nhận giá trị của bit tại một vị trí cụ thể trong BitArray.
3 BitArray công khai Not ();
Đảo ngược tất cả các giá trị bit trong BitArray hiện tại, để các phần tử được đặt thành true được thay đổi thành false và các phần tử được đặt thành false được thay đổi thành true.
4 BitArray công khai Hoặc (giá trị BitArray);
Thực hiện phép toán OR theo chiều bit trên các phần tử trong BitArray hiện tại so với các phần tử tương ứng trong BitArray được chỉ định.
5 public void Set (int index, bool value);
Đặt bit tại một vị trí cụ thể trong BitArray thành giá trị được chỉ định.
6 public void SetAll (bool value);
Đặt tất cả các bit trong BitArray thành giá trị được chỉ định.
7 BitArray Xor công khai (giá trị BitArray);
Thực hiện phép toán OR loại trừ theo từng bit trên các phần tử trong BitArray hiện tại so với các phần tử tương ứng trong BitArray được chỉ định.

Ví dụ

Bây giờ chúng ta hãy xem một ví dụ -

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);
   }
}

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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

Ví dụ

Hãy để chúng tôi xem một ví dụ khác để triển khai hoạt động HOẶC độc quyền của Bitwise giữa các phần tử của 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);
      }
   }
}

Đầu ra

Điều này sẽ tạo ra kết quả sau -

BitArray1 elements...
False
False
False
False
False

BitArray2 elements...
False
True
False
False
False

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