BitArray वर्ग बिट मानों की एक कॉम्पैक्ट सरणी प्रबंधित करता है, जिसे बूलियन के रूप में दर्शाया जाता है, जहां true इंगित करता है कि बिट चालू है (1) और false इंगित करता है कि बिट बंद है (0)। यह बिटवाइज़ ऑपरेशन और फ्लैग प्रबंधन के लिए कुशल है।
सामान्यतः उपयोग किए जाने वाले मेथड्स
| क्र.सं. | मेथड और विवरण |
|---|---|
| 1 | public BitArray And(BitArray value); वर्तमान BitArray में तत्वों पर निर्दिष्ट BitArray में संबंधित तत्वों के विरुद्ध बिटवाइज़ AND ऑपरेशन करता है। |
| 2 | public bool Get(int index); BitArray में विशिष्ट स्थिति पर बिट का मान प्राप्त करता है। |
| 3 | public BitArray Not(); वर्तमान BitArray में सभी बिट मानों को उलट देता है, ताकि true पर सेट तत्व false हो जाएं, और false पर सेट तत्व true हो जाएं। |
| 4 | public BitArray Or(BitArray value); वर्तमान BitArray में तत्वों पर निर्दिष्ट BitArray में संबंधित तत्वों के विरुद्ध बिटवाइज़ OR ऑपरेशन करता है। |
| 5 | public void Set(int index, bool value); BitArray में विशिष्ट स्थिति पर बिट को निर्दिष्ट मान पर सेट करता है। |
| 6 | public void SetAll(bool value); BitArray में सभी बिट्स को निर्दिष्ट मान पर सेट करता है। |
| 7 | public BitArray Xor(BitArray value); वर्तमान BitArray में तत्वों पर निर्दिष्ट BitArray में संबंधित तत्वों के विरुद्ध बिटवाइज़ एक्सक्लूसिव OR ऑपरेशन करता है। |
उदाहरण 1: बुनियादी उपयोग और गुण
using System;
using System.Collections;
public class Demo
{
public static void Main()
{
BitArray arr1 = new BitArray(2);
BitArray arr2 = new BitArray(2);
arr1[0] = false;
arr1[1] = true;
Console.WriteLine("Elements in BitArray1...");
foreach (bool res in arr1)
{
Console.WriteLine(res);
}
arr2[0] = false;
arr2[1] = true;
Console.WriteLine("Elements in BitArray2...");
foreach (bool res in arr2)
{
Console.WriteLine(res);
}
Console.WriteLine("Is BitArray1 equal to BitArray2? = " + arr2.Equals(arr1));
Console.WriteLine("Is BitArray synchronized? = " + arr2.IsSynchronized);
Console.WriteLine("Is BitArray read-only? = " + arr2.IsReadOnly);
}
}
आउटपुट
Elements in BitArray1... False True Elements in BitArray2... False True Is BitArray1 equal to BitArray2? = False Is BitArray synchronized? = False Is BitArray read-only? = False
उदाहरण 2: बिटवाइज़ XOR ऑपरेशन
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 exclusive OR operation...");
IEnumerable demoEnum = arr1.Xor(arr2);
foreach (Object ob in demoEnum)
{
Console.WriteLine(ob);
}
}
}
आउटपुट
BitArray1 elements... False False False False False BitArray2 elements... False True False False False Bitwise exclusive OR operation... False True False False False
BitArray ICollection, IEnumerable, ICloneable लागू करता है। यह थ्रेड-सेफ नहीं है; सिंक्रनाइज़ेशन के लिए lock का उपयोग करें। बिटवाइज़ मेथड्स (And, Or, Xor, Not) नए BitArrays लौटाते हैं (in-place संशोधन नहीं करते)।