C#位数组BitArray

C#位数组

一、引言

如果我们着重处理一个以位为单位的数据时,就可以考虑使用位数组。例如在很多PCI的IO卡中涉及很多的I位的读取以此判断各个开关量的状态,或者设置继电器输出状态时,就会频繁用到位的操作。

这种情况C#提供的BitArray类和BitVectro32类就会起到很大的作用。本篇文章先讲解BitArray类。

二、BitArray类基础

1、BitArray类在命名空间System.Collections中可以找到。

2、BitArray类可以重新设置大小,BitVector32不会,它是固定32位的。

3、BitArray类是一个引用类型,它包含一个int数组,其中每32位使用一个
新整数,所以它的长度是可变的。例如如果BitArray存储的是63位的数 据,就会被存在两个int数据组成的数组中。因为63=32(int)+31(int)其中第二个int只使用了31位。如果BitArray存储的是65位的数据,就会被存在三个int数据组成的数组中,其中第三个int只使用了其中的1位,因为65=32(int)+32(int)+1(int)。

三、BitArray类常用方法

public sealed class BitArray : ICollection, IEnumerable, ICloneable
{
   
    public BitArray(BitArray bits); //用已有的BitArray给新的BitArray初始化
    
    public BitArray(bool[] values); //用布尔数组初始化
    
    public BitArray(byte[] bytes);  //用字节数组初始化
    
    public BitArray(int length);    //初始化并设置位数值,此值会在使用中自动增长
    
    public BitArray(int[] values);  //用int数组初始化
    
    public BitArray(int length, bool defaultValue); //初始化并设置默认值
    
    public int Count {
    get; }   //位数组中现存的位的个数
    
    public bool IsReadOnly {
    get; } //确定位数组是否只读

    public bool IsSynchronized {
    get; } //是否同步对此BitArray的操作,用在线程安全上
    
    public int Length {
    get; set; }   //位数组的位数

    public 
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值