ภาพรวม
เมธอด BitArray.Or(BitArray) ดำเนินการ OR แบบบิตระหว่างบิตแต่ละตำแหน่งของ BitArray ปัจจุบันกับ BitArray ที่ระบุ คืนค่า IEnumerable ของผลลัพธ์ (ไม่แก้ไขอาร์เรย์ต้นทาง)
ตัวอย่าง: Bitwise OR ระหว่าง 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 OR operation...");
IEnumerable demoEnum = arr1.Or(arr2);
foreach(Object ob in demoEnum)
{
Console.WriteLine(ob);
}
}
}
ผลลัพธ์
BitArray1 elements...
False
False
False
False
False
BitArray2 elements...
False
True
False
False
False
Bitwise OR operation...
False
True
False
False
False
คำอธิบายเพิ่มเติม
- ตารางความจริง OR: false|false=false, false|true=true, true|false=true, true|true=true
Or()คืนค่า IEnumerable (lazy evaluation) ต้องวนลูปจึงจะคำนวณจริง- BitArray ทั้งสองต้องมี
Lengthเท่ากัน มิฉะนั้นจะโยน ArgumentException - เมธอดที่เกี่ยวข้อง:
And()(AND),Xor()(XOR),Not()(NOT/กลับบิต) - BitArray เหมาะสำหรับการคำนวณบิตขนาดใหญ่ เช่น bitmap, flags, bitset