📜  C#|获取BitArray中特定位置的位的值

📅  最后修改于: 2021-05-29 14:32:48             🧑  作者: Mango

BitArray类管理一个紧凑的位值数组,这些值表示为布尔值,其中true表示该位打开,1 ,false表示该位关闭,0 。此类包含在System.Collections命名空间中。
BitArray.Get(Int32)方法用于获取BitArray中特定位置的位的值。

特性:

  • BitArray类是一个集合类,其中容量始终与计数相同。
  • 通过增加Length属性将元素添加到BitArray中。
  • 通过减小Length属性来删除元素。
  • 可以使用整数索引访问此集合中的元素。此集合中的索引从零开始。

句法:

public bool Get (int index);

在这里, index是要获取的值的从零开始的索引。

返回值:返回位置索引处的位的值。

异常:如果索引小于零或索引大于或等于BitArray中的元素数,则此方法将提供ArgumentOutOfRangeException。

下面给出了一些示例,以更好地理解实现:

范例1:

// C# code to get the value of
// the bit at a specific position
// in the BitArray
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a BitArray
        BitArray myBitArr = new BitArray(5);
  
        myBitArr[0] = true;
        myBitArr[1] = true;
        myBitArr[2] = false;
        myBitArr[3] = true;
        myBitArr[4] = false;
  
        // To get the value of index at index 2
        Console.WriteLine(myBitArr.Get(2));
  
        // To get the value of index at index 3
        Console.WriteLine(myBitArr.Get(3));
    }
}

输出:

False
True

范例2:

// C# code to get the value of
// the bit at a specific position
// in the BitArray
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a BitArray
        BitArray myBitArr = new BitArray(5);
  
        myBitArr[0] = true;
        myBitArr[1] = true;
        myBitArr[2] = false;
        myBitArr[3] = true;
        myBitArr[4] = false;
  
        // To get the value of index at index 6
        // This should raise "ArgumentOutOfRangeException"
        // as index is greater than or equal to
        // the number of elements in the BitArray.
        Console.WriteLine(myBitArr.Get(6));
    }
}

运行时错误:

范例3:

// C# code to get the value of
// the bit at a specific position
// in the BitArray
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a BitArray
        BitArray myBitArr = new BitArray(5);
  
        myBitArr[0] = true;
        myBitArr[1] = true;
        myBitArr[2] = false;
        myBitArr[3] = true;
        myBitArr[4] = false;
  
        // To get the value of index at index -2
        // This should raise "ArgumentOutOfRangeException"
        // as index is less than zero.
        Console.WriteLine(myBitArr.Get(-2));
    }
}

运行时错误:

注意:此方法是O(1)操作。

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.bitarray.get?view=netframework-4.7.2