Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Mảng bool (Bool Array) trong C#


Giới thiệu

Mảng bool[] lưu trữ các giá trị true hoặc false. Mỗi phần tử chiếm 1 byte (không phải 1 bit). Khởi tạo bằng new bool[size] - tất cả phần tử mặc định = false.

Ví dụ cơ bản

bool[] arr = new bool[5];
arr[0] = true; arr[1] = true; arr[2] = false; arr[3] = true; arr[4] = true;

Ví dụ hoàn chỉnh

using System;

public class Demo
{
    public static void Main()
    {
        bool[] arr = new bool[5];
        arr[0] = true; arr[1] = true; arr[2] = false; arr[3] = true; arr[4] = true;
        Console.WriteLine("Displaying values...");
        foreach (bool res in arr) Console.WriteLine(res);
    }
}

Kết quả

Displaying values...
True
True
False
True
True

Khởi tạo nhanh

// Collection initializer
bool[] arr = { true, false, true, true, false };

// LINQ
bool[] arr = Enumerable.Repeat(true, 5).ToArray();
bool[] arr = Enumerable.Range(0, 5).Select(i => i % 2 == 0).ToArray();

Tối ưu bộ nhớ: BitArray

Nếu cần lưu nhiều boolean và tiết kiệm bộ nhớ, dùng System.Collections.BitArray (1 bit/phần tử):

using System.Collections;
BitArray bits = new BitArray(1000); // ~125 bytes thay vì 1000 bytes
bits[0] = true; bits[500] = false;

Lưu ý

  • bool[] không phải bit-packed (mỗi bool = 1 byte do alignment).
  • Mặc định tất cả = false (zero-initialized).
  • Dùng Array.IndexOf(arr, true) tìm true đầu tiên.
  • Dùng Array.Exists(arr, b => b) kiểm tra có true nào không.