常用成员:
/* 属性 */ Count //只读 Length //同 Count, 但可读写 /* 方法 */ And() //与 Get() //取值 Not() //取反 Or() //或 Set() //赋值 SetAll() //全部设定为指定值 Xor() //异或
练习:
//(items)[]、Get()、Set() protected void Button1_Click(object sender, EventArgs e) { BitArray bits = new BitArray(new bool[3] { true, false, true }); bool b1 = bits[0]; //True bool b2 = bits[1]; //False //bool b1 = bits.Get(0); //bool b2 = bits.Get(1); bits[0] = false; bits[1] = true; //bits.Set(0, false); //bits.Set(1, true); bool b11 = bits[0]; //False bool b22 = bits[1]; //True TextBox1.Text = string.Concat(b1, "\n", b2, "\n", b11, "\n", b22); } //SetAll() 及遍历 protected void Button2_Click(object sender, EventArgs e) { BitArray bits = new BitArray(5); string str1 = ""; foreach (bool b in bits) { str1 += b.ToString() + " "; //False False False False False } bits.SetAll(true); string str2 = ""; foreach (bool b in bits) { str2 += b.ToString() + " "; //True True True True True } TextBox1.Text = str1 + "\n" + str2; } //Count、Length protected void Button3_Click(object sender, EventArgs e) { BitArray bits = new BitArray(5); int n1 = bits.Count; //5 bits.Length = 3; int n2 = bits.Count; //3 TextBox1.Text = string.Concat(n1, "\n", n2); } //Not() protected void Button4_Click(object sender, EventArgs e) { BitArray bits = new BitArray(new bool[4] { true, false, true, false }); bits.Not(); // False,True, False,True TextBox1.Text = string.Format("{0},{1},{2},{3}", bits[0], bits[1], bits[2], bits[3]); } //And() protected void Button5_Click(object sender, EventArgs e) { BitArray bits1 = new BitArray(new bool[4] { true, false, true, false }); BitArray bits2 = new BitArray(new bool[4] { true, true, false, false }); bits1.And(bits2); // True, False, False, False TextBox1.Text = string.Format("{0},{1},{2},{3}", bits1[0], bits1[1], bits1[2], bits1[3]); } //Or() protected void Button6_Click(object sender, EventArgs e) { BitArray bits1 = new BitArray(new bool[4] { true, false, true, false }); BitArray bits2 = new BitArray(new bool[4] { true, true, false, false }); bits1.Or(bits2); // True, True, True, False TextBox1.Text = string.Format("{0},{1},{2},{3}", bits1[0], bits1[1], bits1[2], bits1[3]); } //Xor() protected void Button7_Click(object sender, EventArgs e) { BitArray bits1 = new BitArray(new bool[4] { true, false, true, false }); BitArray bits2 = new BitArray(new bool[4] { true, true, false, false }); bits1.Xor(bits2); // False,True, True, False TextBox1.Text = string.Format("{0},{1},{2},{3}", bits1[0], bits1[1], bits1[2], bits1[3]); } //其它建立方法 protected void Button8_Click(object sender, EventArgs e) { //对象包含 3 个 true BitArray bits1 = new BitArray(3, true); //以 byte[] 为参数时, 将把其每个 byte 的 8 个位分别映射为一个元素 BitArray bits2 = new BitArray(new byte[3] { byte.MaxValue, byte.MinValue, byte.MaxValue }); //以 int[] 为参数时, 将把其每个 int 的 32 个位分别映射为一个元素 BitArray bits3 = new BitArray(new int[3] { int.MaxValue, int.MinValue, int.MaxValue }); int n1 = bits1.Length; //3 int n2 = bits2.Length; //24 int n3 = bits3.Length; //96 string s1, s2, s3; s1 = s2 = s3 = ""; foreach (bool b in bits1) { s1 = string.Concat(s1, Convert.ToByte(b)); } //111 foreach (bool b in bits2) { s2 = string.Concat(s2, Convert.ToByte(b)); } //11111111 //00000000 //11111111 foreach (bool b in bits3) { s3 = string.Concat(s3, Convert.ToByte(b)); } //11111111111111111111111111111110 //00000000000000000000000000000001 //11111111111111111111111111111110 TextBox1.Text = string.Concat(n1, "\n", n2, "\n", n3, "\n", s1, "\n", s2, "\n", s3); }
分类:
C# 与 Net
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2010-01-05 RegularExpressions(1) 一个 Net 样式的、适用于 Delphi 2009 之后版本的正则表达式组件
2008-01-05 Delphi 中的 XMLDocument 类详解(16) - 节点列表中的第一个与最后一个节点
2008-01-05 Delphi 中的 XMLDocument 类详解(15) - 创建与保存 xml