//
// Copyright (c) 2002
// Ronald Kevin Burton
//
// Z poniższym kodem nie jest związana żadna gwarancja poprawności działania.
// Program został dołączony do książki ".NET CLR. Księga eksperta" w celu
// ilustracji koncepcji i zasad przedstawionych w tej książce. Program może być 
// używany na własne ryzyko.
//
// Przyznaje się prawo do użycia lub kopiowania tego oprogramowania do dowolnego celu
// bez konieczności ponoszenia żadnych opłat pod warunkiem, że powyższe uwagi zostaną 
// zachowane we wszystkich kopiach. Przyznaje się także prawo do modyfikacji kodu
// i dystrybucji zmodyfikowanego kodu pod warunkiem zachowania powyższych uwag
// oraz dołączenia informacji mówiącej o modyfikacji kodu.
//
//
using System;
using System.Collections;

namespace FrameworkLibraries
{
	public class BitArrayMain 
	{
		static void Main(string [] args)
		{
			BitArray ba1 = new BitArray(8);
			ba1[0] = true;
			ba1[1] = false;
			ba1[2] = true;
			ba1[3] = false;
			ba1[4] = true;
			ba1[5] = false;
			ba1[6] = true;
			ba1[7] = false;
			foreach(bool b in ba1)
				Console.Write("{0} ", b);
			Console.WriteLine();
			BitArray ba2 = new BitArray(8);
			ba2[0] = true;
			ba2[1] = true;
			ba2[2] = true;
			ba2[3] = true;
			ba2[4] = false;
			ba2[5] = false;
			ba2[6] = false;
			ba2[7] = false;
			foreach(bool b in ba2)
				Console.Write("{0} ", b);
			Console.WriteLine();
			BitArray bar = new BitArray(ba1);
			bar.And(ba2);
			Console.WriteLine("--- I ---");
			foreach(bool b in bar)
				Console.Write("{0} ", b);
			Console.WriteLine();
			bar = new BitArray(ba1);
			bar.Or(ba2);
			Console.WriteLine("--- Lub ---");
			foreach(bool b in bar)
				Console.Write("{0} ", b);
			Console.WriteLine();
			bar = new BitArray(ba1);
			bar.Xor(ba2);
			Console.WriteLine("--- Xor ---");
			foreach(bool b in bar)
				Console.Write("{0} ", b);
			Console.WriteLine();
		}
	}
}