C# BitArrayコレクションを使う

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;

class Program
{
    private static void PrintBitArray(BitArray ba)
    {
        foreach (Boolean b in ba)
        {
            Console.Write(b ? "1" : "0");
        }
        Console.WriteLine("\n\n");
    }

    public static void Main()
    {
        {
            Console.WriteLine("-----------------------------------");
            BitArray ba = new BitArray(8);
            ba.Set(0, true);
            ba.Set(3, true);

            Console.WriteLine("[ba]");
            PrintBitArray(ba);
        }
        {
            Console.WriteLine("-----------------------------------");
            BitArray ba0 = new BitArray(8);
            BitArray ba1 = new BitArray(8);

            ba0.Set(0, true);
            ba0.Set(1, true);
            ba0.Set(2, true);
            ba0.Set(3, true);
            ba0.Set(4, true);
            ba0.Set(5, true);

            ba1.Set(0, true);
            ba1.Set(2, true);
            ba1.Set(6, true);

            Console.WriteLine("[ba0]");
            PrintBitArray(ba0);

            Console.WriteLine("[ba1]");
            PrintBitArray(ba1);

            Console.WriteLine("[ba0 & ba1]");
            PrintBitArray(ba0.And(ba1));
        }
        {
            Console.WriteLine("-----------------------------------");
            BitArray ba0 = new BitArray(8);
            BitArray ba1 = new BitArray(8);

            ba0.Set(0, true);
            ba0.Set(1, true);
            ba0.Set(2, true);
            ba0.Set(3, true);
            ba0.Set(4, true);
            ba0.Set(5, true);

            ba1.Set(0, true);
            ba1.Set(2, true);
            ba1.Set(6, true);

            Console.WriteLine("[ba0]");
            PrintBitArray(ba0);

            Console.WriteLine("[ba1]");
            PrintBitArray(ba1);

            Console.WriteLine("[ba0 | ba1]");
            PrintBitArray(ba0.Or(ba1));
        }
        {
            Console.WriteLine("-----------------------------------");
            BitArray ba0 = new BitArray(8);
            BitArray ba1 = new BitArray(8);

            ba0.Set(0, true);
            ba0.Set(1, true);
            ba0.Set(2, true);
            ba0.Set(3, true);
            ba0.Set(4, true);
            ba0.Set(5, true);

            ba1.Set(0, true);
            ba1.Set(2, true);
            ba1.Set(6, true);

            Console.WriteLine("[ba0]");
            PrintBitArray(ba0);

            Console.WriteLine("[ba1]");
            PrintBitArray(ba1);

            Console.WriteLine("[ba0 xor ba1]");
            PrintBitArray(ba0.Xor(ba1));
        }
    }
}