【t0 c# \位数组类】T1
BitArray 类管理一个紧凑的位值数组,这些位值被表示为布尔值,其中 true 表示该位在上是,即 1 ,false 表示该位在下是,即 0 。这个类包含在 系统中。集合 命名空间。
BitArray 类的属性:
- BitArray 类是一个集合类,其中的容量始终与计数相同。
- 通过增加 长度 属性,元素被添加到数组中。
- 通过减少 长度 属性来删除元素。
- 可以使用整数索引访问此集合中的元素。此集合中的索引从零开始。
构造器
| 构造器 | 描述 | | 位数组(位数组) | 初始化 BitArray 类的新实例,该实例包含从指定 BitArray 复制的位值。 | | 位数组(布尔[])t1 | 初始化 BitArray 类的新实例,该实例包含从指定的布尔值数组中复制的位值。 | | 位数组(字节[] | 初始化 BitArray 类的新实例,该实例包含从指定的字节数组复制的位值。 | | 位数组(Int32) | 初始化 BitArray 类的新实例,该实例可以保存指定数量的位值,这些值最初设置为 false。 | | 位数组(Int32,布尔) | 初始化 BitArray 类的新实例,该实例可以保存指定数量的位值,这些位值最初设置为指定的值。 | | 位数组(Int32[]个) | 初始化 BitArray 类的新实例,该实例包含从指定的 32 位整数数组中复制的位值。 |
示例:
// C# code to create a 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
性能
| 财产 | 描述 | | 计数 | 获取 BitArray 中包含的元素数量。 | | 【isreadonly】 | 获取一个值,该值指示 BitArray 是否为只读。 | | 同步 | 获取一个值,该值指示对 BitArray 的访问是否同步(线程安全)。 | | 项【国际 32】 | 获取或设置 BitArray 中特定位置的位的值。 | | 长度 | 获取或设置数组中的元素数。 | | 同步根 | 获取一个对象,该对象可用于同步对 BitArray 的访问。 |
示例:
// C# program to illustrate the
// BitArray Class Properties
using System;
using System.Collections;
class GFG {
// Driver code
public static void Main()
{
// Creating a BitArray
BitArray myBitArr = new BitArray(new byte[] { 0, 0, 0, 1 });
// -------- IsReadOnly Property --------
// Checking if the BitArray is read-only
Console.WriteLine(myBitArr.IsReadOnly);
// -------- Count Property --------
// To get the number of elements
// contained in the BitArray
Console.WriteLine(myBitArr.Count);
}
}
输出:
False
32
方法
| 方法 | 描述 | | 和(BitArray) | 在当前 BitArray 对象的元素和指定数组中的相应元素之间执行按位“与”运算。当前的 BitArray 对象将被修改以存储按位“与”运算的结果。 | | T1】克隆()T3】 | 创建位图的浅拷贝。 | | CopyTo(Array,Int32) | 从目标数组的指定索引开始,将整个数组复制到兼容的一维数组。 | | 等于(对象) | 确定指定的对象是否等于当前对象。 | | Get(Int32) | 获取数组中特定位置的位的值。 | | 【get 分子() | 返回遍历 BitArray 的枚举数。 | | 左移(Int32) | 它用于将位阵列的位向左移动一个位置,并在移动的位置上添加零。 | | GetHashCode() | 用作默认哈希函数。 | | gettype() | 获取当前实例的类型。 | | MemberWiseCrone() | 创建当前对象的浅拷贝。 | | 不是() | 反转当前 BitArray 中的所有位值,以便设置为 true 的元素更改为 false,设置为 false 的元素更改为 true。 | | 右移(Int32) | 它用于将位阵列的位向右移动一个位置,并在移动的位置上添加零。 | | 或(BitArray) | 在当前 BitArray 对象的元素和指定数组中的相应元素之间执行按位“或”运算。当前 BitArray 对象将被修改以存储按位“或”运算的结果。 | | 集合(Int32,布尔) | 将 BitArray 中特定位置的位设置为指定值。 | | 集合全部(布尔值) | 将 BitArray 中的所有位设置为指定值。 | | ToString() | 返回表示当前对象的字符串。 | | Xor(BitArray) | 针对指定数组中的相应元素,在当前 BitArray 对象的元素之间执行按位异或运算。当前 BitArray 对象将被修改以存储按位异或运算的结果。 |
例 1:
// C# code to do bitwise
// OR between BitArray
using System;
using System.Collections;
class GFG {
// Driver code
public static void Main()
{
// Creating a BitArray
BitArray myBitArr1 = new BitArray(4);
// Creating a BitArray
BitArray myBitArr2 = new BitArray(4);
// Initializing values in myBitArr1
myBitArr1[0] = false;
myBitArr1[1] = false;
myBitArr1[2] = true;
myBitArr1[3] = true;
// Initializing values in myBitArr2
myBitArr2[0] = false;
myBitArr2[2] = false;
myBitArr2[1] = true;
myBitArr2[3] = true;
// function calling
PrintValues(myBitArr1.Or(myBitArr2));
}
// Displaying the result
public static void PrintValues(IEnumerable myList)
{
foreach(Object obj in myList)
{
Console.WriteLine(obj);
}
}
}
输出:
False
True
True
True
例 2:
// C# code to set all bits in the
// BitArray to the specified value
using System;
using System.Collections;
class GFG {
// Driver code
public static void Main()
{
// Creating a BitArray myBitArr
BitArray myBitArr = new BitArray(5);
// Initializing all the bits in myBitArr
myBitArr[0] = false;
myBitArr[1] = true;
myBitArr[2] = true;
myBitArr[3] = false;
myBitArr[4] = true;
// Printing the values in myBitArr
Console.WriteLine("Initially the bits are as : ");
PrintIndexAndValues(myBitArr);
// Setting all bits to false
myBitArr.SetAll(false);
// Printing the values in myBitArr
// It should display all the bits as false
Console.WriteLine("Finally the bits are as : ");
PrintIndexAndValues(myBitArr);
}
// Function to display bits
public static void PrintIndexAndValues(IEnumerable myArr)
{
foreach(Object obj in myArr)
{
Console.WriteLine(obj);
}
}
}
输出:
Initially the bits are as :
False
True
True
False
True
Finally the bits are as :
False
False
False
False
False
参考:
版权属于:月萌API www.moonapi.com,转载请注明出处