uocmo_kchodoi
Moderator
- Xu
- 132
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 trong C#
Dưới đây liệt kê các thuộc tính được sử dụng phổ biến của lớp BitArray trong C#:
Count: Lấy số phần tử được chứa trong BitArray
IsReadOnly: Lấy một giá trị chỉ rằng có hay không BitArray là read-only
Item: Lấy hoặc thiết lập giá trị của bit tại vị trí đã xác định trong BitArray
Length: Lấy hoặc thiết lập số phần tử trong BitArray
Bảng dưới liệt kê các phương thức được sử dụng phổ biến của lớp BitArray trong 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ụ
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);
}
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);
}
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);
}
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);
}
Console.WriteLine();
Console.ReadKey();
}
}
}
Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.
Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:
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 trong C#
Dưới đây liệt kê các thuộc tính được sử dụng phổ biến của lớp BitArray trong C#:
Count: Lấy số phần tử được chứa trong BitArray
IsReadOnly: Lấy một giá trị chỉ rằng có hay không BitArray là read-only
Item: Lấy hoặc thiết lập giá trị của bit tại vị trí đã xác định trong BitArray
Length: Lấy hoặc thiết lập số phần tử trong BitArray
Bảng dưới liệt kê các phương thức được sử dụng phổ biến của lớp BitArray trong 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ụ
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);
}
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);
}
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);
}
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);
}
Console.WriteLine();
Console.ReadKey();
}
}
}
Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.
Biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:
Nguồn: Sưu tầm
Sửa lần cuối bởi điều hành viên: