C # จุดอาร์เรย์ (BitArray)
ระดับ BitArray จัดการอาร์เรย์ขนาดกะทัดรัดของค่าบิตซึ่งใช้ค่าบูลีนที่บ่งบอกความจริงบิตอยู่บน (1) การเป็นตัวแทนเท็จบิตปิด (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) ใช้:
การใช้ระบบ ใช้ System.Collections; CollectionsApplication namespace { Program รุ่น { เป็นโมฆะคง main (String args []) { // สร้างสองอาร์เรย์ขนาด 8 จุด Ba1 BitArray = ใหม่ BitArray (8); BitArray BA2 = ใหม่ BitArray (8); byte [] A = {60}; ไบต์ b [] = {13}; // ค่าของ 60 และ 13 ร้านค้าอาร์เรย์จุด Ba1 = ใหม่ BitArray (ก); BA2 = ใหม่ BitArray (ข); // เนื้อหา Ba1 ของ Console.WriteLine ( "บิตอาร์เรย์ Ba1: 60"); for (int i = 0; I <ba1.Count; i ++) { Console.Write ( "{0, -6}" Ba1 [I]); } Console.WriteLine (); // เนื้อหา Ba2 ของ Console.WriteLine ( "บิตอาร์เรย์ BA2: 13"); for (int i = 0; I <ba2.Count; i ++) { Console.Write ( "{0, -6}" BA2 [I]); } Console.WriteLine (); BitArray BA3 = ใหม่ BitArray (8); BA3 = ba1.And (BA2); // เนื้อหา Ba3 ของ Console.WriteLine ( "บิตอาร์เรย์ BA3 และหลังจากการดำเนินงาน: 12"); for (int i = 0; I <ba3.Count; i ++) { Console.Write ( "{0, -6}" BA3 [I]); } Console.WriteLine (); BA3 = ba1.Or (BA2); // เนื้อหา Ba3 ของ Console.WriteLine ( "บิตอาร์เรย์ BA3 หรือหลังจากการดำเนินงาน: 61"); for (int i = 0; I <ba3.Count; i ++) { Console.Write ( "{0, -6}" BA3 [I]); } Console.WriteLine (); Console.ReadKey (); } } }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
Bit Ba1 อาร์เรย์: 60 false false true true true true false false Bit BA2 อาร์เรย์: 13 ทรูทรูทรูเท็จเท็จเท็จเท็จเท็จ Bit อาร์เรย์ BA3 และหลังจากการดำเนินงาน: 12 false false true true false false false false BA3 บิตอาหลังจากการดำเนินการหรือ: 61 ทรูทรูทรูเท็จเท็จเท็จเท็จเท็จ