博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 位数组
阅读量:4925 次
发布时间:2019-06-11

本文共 743 字,大约阅读时间需要 2 分钟。

前言

如果需要处理许多位,就可以使用类 BitArray 和结构 BitVector32。BitArray 位于命名空间System.Collections,BitVector32 位于命名空间 System.Collections.Specialized。

 

一、BitArray  类   引用类型

类 BitArray 是一个引用类型,包含一个 int 数组,每 32 位使用一个新整数

个人理解:BitArray相当于一个bool类型的数组bool[]

官方解释:类 BitArray 是一个引用类型,包含一个 int 数组,每 32 位使用一个新整数

 

Eg

 

其他方法:And(), Or(), Xor()、Get()

Eg

 

 

二、BitVector32  结构 值类型

如果事先知道需要的位数,就可以使用BitVector32 结构替代 BitArray。BitVector32 效率较高,因为它是一个值类型,在整数栈上存储位。一个整数可以存储 32 位。*['vektə] n. 矢量;带菌者;航线 vt. 用无线电导航

 

 Eg

 

 

 除了用CreateMask()方法创建掩码之外,还可以自己定义掩码,也可以一次设置多个位,八进制010与二进制值1010相同。可以这样表达

bits1[010] = true;

 

 

 

 

 

区别

这两种类型最重要的区别是,BitArray 可以重新设置大小,如果事先不知道需要的位数,就可以使用 BitArray,它可以包含非常多的位。BitVector32是基于栈的,因此比较快。BitVector32仅包含 32 位,存储在一个整数中。

转载于:https://www.cnblogs.com/PEPE/archive/2012/06/26/2564017.html

你可能感兴趣的文章
django-cms 代码研究(八)app hooks
查看>>
peewee Model.get的复杂查询
查看>>
IE浏览器兼容性设置的一些问题
查看>>
SQL Server复制入门(二)----复制的几种模式
查看>>
javascript 简单认识
查看>>
tomcat 系统架构与设计模式 第二部分 设计模式 转
查看>>
scanf中的%[^\n]%*c格式
查看>>
启动Eclipse报Initializing Java Tooling错误解决方法
查看>>
用jquery来实现类似“网易新闻”横向标题滑动的移动端页面
查看>>
(原)基于物品的协同过滤ItemCF的mapreduce实现
查看>>
CSS可以和不可以继承的属性
查看>>
eclipse每次当我按ctrl+鼠标点击代码,自动关闭,产生原因及解决办法!!
查看>>
hbase
查看>>
用PHP将Unicode 转化为UTF-8
查看>>
HDOJ1002 A+B Problem II
查看>>
ADB server didn't ACK(adb不能开启
查看>>
网页内容抓取
查看>>
分布式和集群的区别
查看>>
Python基础(三)
查看>>
Sql server在cmd下的使用
查看>>