C# 中的 BitArray函数

首页 / C#入门教程 / C# 中的 BitArray函数

BitArray类管理位值的紧凑数组,表示为布尔值,其中true表示该位为on(1),false表示该位为off(0)。

BitArray方法和属性

下表列出了BitArray类-的一些常用属性

Sr.No. Property & 描述
1

Count

获取BitArray中包含的元素数。

2

IsReadOnly

链接:https://www.learnfk.comhttps://www.learnfk.com/csharp/csharp-bitarray.html

来源:LearnFk无涯教程网

获取一个值,该值指示BitArray是否为只读。

3

Item

无涯教程网

获取或设置BitArray中特定位置的位的值。

4

Length

获取或设置BitArray中的元素数。

下表列出了BitArray类-的一些常用方法

Sr.No. Method & 描述
1

public BitArray and(BitArray value);

执行按位AND操作。

2

public bool get(Int Index);

获取BitArray中特定位置的位的值。

3

public BitArray not();

反转当前BitArray中的所有位值,以便将设置为true的元素更改为false,将设置为false的元素更改为true。

4

public BitArray or(BitArray value);

执行按位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中的相应元素执行逐位异或操作。

下面的示例演示BitArray类的用法

using System;
using System.Collections;

namespace CollectionsApplication {
   class Program {
      static void Main(string[] args) {
         //creating two  bit arrays of size 8
         BitArray ba1 = new BitArray(8);
         BitArray ba2 = new BitArray(8);
         
         byte[] a = { 60 };
         byte[] b = { 13 };
         
         //storing the values 60, and 13 into the bit arrays
         ba1 = new BitArray(a);
         ba2 = new BitArray(b);
         
         //content of ba1
         Console.WriteLine("Bit array ba1: 60");
         
         for (int i = 0; i < ba1.Count; i++) {
            Console.Write("{0, -6} ", ba1[i]);
         }
         Console.WriteLine();
         
         //content of ba2
         Console.WriteLine("Bit array ba2: 13");
         
         for (int i = 0; i < ba2.Count; i++) {
            Console.Write("{0, -6} ", ba2[i]);
         }
         Console.WriteLine();
         BitArray ba3 = new BitArray(8);
         ba3 = ba1.And(ba2);
         
         //content of ba3
         Console.WriteLine("Bit array ba3 after AND operation: 12");
         
         for (int i = 0; i < ba3.Count; i++) {
            Console.Write("{0, -6} ", ba3[i]);
         }
         Console.WriteLine();
         ba3 = ba1.Or(ba2);
         
         //content of ba3
         Console.WriteLine("Bit array ba3 after OR operation: 61");
         
         for (int i = 0; i < ba3.Count; i++) {
            Console.Write("{0, -6} ", ba3[i]);
         }
         Console.WriteLine();

         Console.ReadKey();
      }
   }
}

编译并执行上述代码时,将生成以下输出-

Bit array ba1: 60 
False False True True True True False False 
Bit array ba2: 13
True False True True False False False False 
Bit array ba3 after AND operation: 12
False False True True False False False False 
Bit array ba3 after OR operation: 61
True False True True False False False False 

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

机器学习40讲 -〔王天一〕

许式伟的架构课 -〔许式伟〕

性能工程高手课 -〔庄振运〕

Kafka核心源码解读 -〔胡夕〕

分布式数据库30讲 -〔王磊〕

Django快速开发实战 -〔吕召刚〕

遗留系统现代化实战 -〔姚琪琳〕

林外 · 专利写作第一课 -〔林外〕

JavaScript进阶实战课 -〔石川〕

好记忆不如烂笔头。留下您的足迹吧 :)