C#怎么实现BitArray转换成int和string
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇"C#怎么实现BitArray转换成int和string"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下
千家信息网最后更新 2026年11月01日C#怎么实现BitArray转换成int和string
这篇"C#怎么实现BitArray转换成int和string"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"C#怎么实现BitArray转换成int和string"文章吧。
BitArray的基础可以看菜鸟编程
BitArray 类管理一个紧凑型的位值数组,它使用布尔值来表示,其中 true 表示位是开启的(1),false 表示位是关闭的(0)。
当您需要存储位,但是事先不知道位数时,则使用点阵列。您可以使用整型索引从点阵列集合中访问各项,索引从零开始。
BitArray 类的方法和属性
下表列出了 BitArray 类的一些常用的 属性:
| 属性 | 描述 |
|---|---|
| Count | 获取 BitArray 中包含的元素个数。 |
| IsReadOnly | 获取一个值,表示 BitArray 是否只读。 |
| Item | 获取或设置 BitArray 中指定位置的位的值。 |
| Length | 获取或设置 BitArray 中的元素个数。 |
下表列出了 BitArray 类的一些常用的 方法:
| 序号 | 方法名 & 描述 |
|---|---|
| 1 | public BitArray And( BitArray value ); 对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位与操作。 |
| 2 | public bool Get( int index ); 获取 BitArray 中指定位置的位的值。 |
| 3 | public BitArray Not(); 把当前的 BitArray 中的位值反转,以便设置为 true 的元素变为 false,设置为 false 的元素变为 true。 |
| 4 | public BitArray Or( BitArray value ); 对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位或操作。 |
| 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的大概,我们来做BitArray和Int和string的转换,
BitArray转成Int方法
////// 点矩阵转成int/// public static int BitArrayToInt(BitArray bit){ int[] res = new int[1]; for (int i = 0; i < bit.Count; i++) { bit.CopyTo(res, 0); } return res[0];}
BitArray转成string方法(如果有乱码,请自行修改编码)
////// 点矩阵转换成string/// public static string BitArrayToStr(BitArray ba){ byte[] strArr = new byte[ba.Length / 8]; for (int i = 0; i < ba.Length / 8; i++) { for (int index = i * 8, m = 1; index < i * 8 + 8; index++, m *= 2) { strArr[i] += ba.Get(index) ? (byte)m : (byte)0; } } return Encoding.Default.GetString(strArr);}
在LinqPad上调用测试(Dump是LinqPad的输出的方法):
void Main(){ var bi = new BitArray(new bool[] { true, false, false, false, false, true, false, false }); bool[] bs = bi.Cast().ToArray();//直接转成bool数组,但这个结果无意义 BitArrayToInt(bi).Dump("点矩阵转成int:");//点矩阵转成int BitArrayToStr(bi).Dump("点矩阵转成字符串:");//点矩阵转成字符串 //测试将字符串转成点矩阵再转回字符串 var str = "涛神"; //点矩阵只支持bool[]、byte[]、int[],所以字符串需要先转成byte[] byte[] byteArray = System.Text.Encoding.Default.GetBytes(str); var ba = new BitArray(byteArray);//创建一个点矩阵 BitArrayToStr(ba).Dump("将点矩阵转成字符串:");//将点矩阵转成字符串} 结果:
以上就是关于"C#怎么实现BitArray转换成int和string"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
矩阵
元素
字符
字符串
方法
内容
C#
中指
位置
属性
个数
常用
数组
文章
知识
篇文章
索引
结果
阵列
测试
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云信互联网科技有限公司
互联网科技会
智能科技公司是互联网公司吗
互联网科技与金融科技
奇士达互联网科技
互联网前沿科技
互联网养老 桔豆科技
西藏七维空间互联网科技有限公司
彤创互联网科技有限公司
晓花互联网科技有限公司网址
新兴科技互联网创新大赛颁奖典礼
未来五年的互联网科技
互联网科技的全部知识
伊宁互联网科技做什么的
互联网风格科技公司名称
吉林省码上互联网科技电话
陕西九四连强互联网科技有限公司
张家口科技产业互联网平台
深圳互联网科技园地址
互联网科技创业计划的风险分析
互联网科技公司排名
互联网扶贫科技
科技与互联网发展
期待互联网科技
伴你行互联网科技有限公司
互联网 新科技
赶超互联网科技 微信多开
山东子淼互联网科技有限公司
平安好医生打造互联网科技医疗
互联网科技自媒体灵感