Lớp BitArray trong C#

0
391

Lớp BitArray quản lý một mảng của các giá trị bit, được biểu diễn như là Boolean, là cái mà true biểu thị bởi bit on (1) và false biểu thị bit là off (0).

Nó được sử dụng khi bạn cần lưu trữ các bit nhưng không biết số bit trước. Bạn có thể truy cập vào các phần tử từ bộ sưu tập BitArray bằng cách sử dụng một chỉ số nguyên, bắt đầu từ số không.

Phương thức và thuộc tính của lớp BitArray

Bảng sau đây liệt kê một số tính chất thường được sử dụng của lớp BitArray:

Phương thức Mô tả
Count Gets số phần tửu chứa trong BitArray.
IsReadOnly Gets giá trị chỉ thị xem BitArray có phải là read-only.
Item Gets hoặc sets giá trị của tại vị trí xác định trong BitArray.
Length Gets hoặc sets số phần tử trong BitArray.

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

STT Phương thức
1 public BitArray And(BitArray value);

Thực hiện hoạt động bitwise AND trên các phần tử trong BitArray hiện tại với các phần tử tương ứng trong BitArray đã xác định

2 public bool Get(int index);

Lấy giá trị của bit tại một vị trí đã xác định trong BitArray

3 public BitArray Not();

Đảo ngược tất cả giá trị bit trong BitArray hiện tại, để mà các phần tử được thiết lập là true được chuyển đổi thành false, và các phần tử được thiết lập là false được chuyển đổi thành true

4 public BitArray Or(BitArray value);

Thực hiện hoạt động bitwise OR trên các phần tử trong BitArray hiện tại với các phần tử tương ứng trong BitArray đã xác định

5 public void Set(int index, bool value);

Thiết lập bit tại một vị trí đã xác định trong BitArray tới value đã cho

6 public void SetAll(bool value);

Thiết lập tất cả bit trong BitArray tới value đã cho

7 public BitArray Xor(BitArray value);

Thực hiện hoạt động bitwise Exclusive OR trên các phần tử trong BitArray hiện tại với các phần tử tương ứng trong BitArray đã xác định

Ví dụ

Dưới đây là ví dụ minh họa các thuộc tính và phương thức của lớp BitArray trong C#:

using System;
using System.Collections;

namespace VietJackCsharp
{
    class TestCsharp
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Vi du minh hoa BitArray trong C#");
            Console.WriteLine("-------------------------------------");
            SortedList ht = new SortedList();

            //tao hai bit array co kich co la 8
            BitArray ba1 = new BitArray(8);
            BitArray ba2 = new BitArray(8);
            byte[] a = { 60 };
            byte[] b = { 13 };

            //luu giu gia tri 60 va 13 vao trong bit array
            ba1 = new BitArray(a);
            ba2 = new BitArray(b);

            //hien thi noi dung cua ba1
            Console.WriteLine("Hien thi cac phan tu cua ba1: 60");

            for (int i = 0; i < ba1.Count; i++)
            {
                Console.Write("{0, -6} ", ba1[i]);
            }
            Console.WriteLine();

            //hien thi noi dung cua ba2
            Console.WriteLine("Hien thi cac phan tu cua ba2: 13");

            for (int i = 0; i < ba2.Count; i++)
            {
                Console.Write("{0, -6} ", ba2[i]);
            }
            Console.WriteLine();
            BitArray ba3 = new BitArray(8);
            ba3 = ba1.And(ba2);

            //hien thi noi dung cua ba3
            Console.WriteLine("Cac phan tu cua ba3 sau hoat dong AND la: 12");

            for (int i = 0; i < ba3.Count; i++)
            {
                Console.Write("{0, -6} ", ba3[i]);
            }
            Console.WriteLine();
            ba3 = ba1.Or(ba2);

            //hien thi noi dung cua ba3
            Console.WriteLine("Cac phan tu cua ba3 sau hoat dong OR la: 61");

            for (int i = 0; i < ba3.Count; i++)
            {
                Console.Write("{0, -6} ", ba3[i]);
            }
            Console.WriteLine();
         
            Console.ReadKey();
        }
    }
}

Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:

BitArray trong C#

Chúc bạn thành công!

This site uses Akismet to reduce spam. Learn how your comment data is processed.