千家信息网

C#怎么实现BitArray转换成int和string

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇"C#怎么实现BitArray转换成int和string"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下
千家信息网最后更新 2025年01月18日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 类的一些常用的 方法:

序号方法名 & 描述
1public BitArray And( BitArray value );
对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位与操作。
2public bool Get( int index );
获取 BitArray 中指定位置的位的值。
3public BitArray Not();
把当前的 BitArray 中的位值反转,以便设置为 true 的元素变为 false,设置为 false 的元素变为 true。
4public BitArray Or( BitArray value );
对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位或操作。
5public void Set( int index, bool value );
把 BitArray 中指定位置的位设置为指定的值。
6public void SetAll( bool value );
把 BitArray 中的所有位设置为指定的值。
7public 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安全错误 数据库的锁怎样保障安全 软件开发招募合伙人 关于软件开发的专业英语单词 国际癌症研究机构基因数据库 服务器可以不设置操作系统吗 服务器定期维护的重要性 网络安全哪个技术最吃香 linux 服务器复制 公务员公安网络安全 射雕群侠传有多少服务器 开发数据库教程视频 唐山网络安全教育平台 定义动态站点及链接数据库 方舟怎么看服务器管理密码 网页软件开发教程 杭州缇苏网络技术有限公司 简单网页实现与数据库查询 wsl可以作为服务器吗 平安互联网寿险科技 网易手机版自动钓鱼机服务器 无法连接到数据源服务器 哈利波特如何搜索服务器 计算机三级网络技术参考教材 php数据库switch 服务器可以不设置操作系统吗 网络安全隐患卡通图 网络安全与防范调查问卷 服务器怎么不能从硬盘启动了 工控网络安全可信计算 内蒙古员工量化积分管理软件开发 广电网络安全播放
0