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

本文共 678 字,大约阅读时间需要 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 位,存储在一个整数中。

转载地址:http://itgta.baihongyu.com/

你可能感兴趣的文章
玩转“网上邻居”之DNS解析(二)
查看>>
Windows Phone 7 不温不火学习之《创建用户控件》
查看>>
C#中的 int?是什么意思
查看>>
编程思维随想
查看>>
微信小程序+java后端整合笔记
查看>>
Java应用程序工程模板
查看>>
Web上传文件的原理及实现
查看>>
DPM2007安装配置简要指南
查看>>
如何使用常用的6种方式对数据进行转换(二)
查看>>
1463: C语言实验题――相加和最大值
查看>>
坚持之随想
查看>>
$.ajax()方法详解
查看>>
python模块介绍- SocketServer 网络服务框架
查看>>
【CSS进阶】box-shadow 与 filter:drop-shadow 详解及奇技淫巧
查看>>
IE无法显示.shtml格式网页
查看>>
Django文件上传 -- 适用于单一小文件上传
查看>>
Android 发送多个不同的快捷方式(shortcut)到桌面并向其启动的Activity传参
查看>>
还在用PCA降维?快学学大牛最爱的t-SNE算法吧(附Python/R代码)
查看>>
Android Fragments 详细使用
查看>>
验证码识别(python)
查看>>