
- C# 基礎教程
- C# - 首頁
- C# - 概述
- C# - 環境
- C# - 程式結構
- C# - 基本語法
- C# - 資料型別
- C# - 型別轉換
- C# - 變數
- C# - 常量
- C# - 運算子
- C# - 決策
- C# - 迴圈
- C# - 封裝
- C# - 方法
- C# - 可空型別
- C# - 陣列
- C# - 字串
- C# - 結構體
- C# - 列舉
- C# - 類
- C# - 繼承
- C# - 多型
- C# - 運算子過載
- C# - 介面
- C# - 名稱空間
- C# - 預處理器指令
- C# - 正則表示式
- C# - 異常處理
- C# - 檔案I/O
- C# 高階教程
- C# - 屬性
- C# - 反射
- C# - 屬性
- C# - 索引器
- C# - 委託
- C# - 事件
- C# - 集合
- C# - 泛型
- C# - 匿名方法
- C# - 不安全程式碼
- C# - 多執行緒
- C# 有用資源
- C# - 問題與解答
- C# - 快速指南
- C# - 有用資源
- C# - 討論
C# - BitArray 類
BitArray 類管理一個緊湊的位值陣列,這些位值表示為布林值,其中 true 表示位開啟 (1),false 表示位關閉 (0)。
當您需要儲存位但事先不知道位數時,可以使用它。您可以使用從零開始的整數索引訪問 BitArray 集合中的項。
BitArray 類的屬性和方法
下表列出了一些常用的BitArray類的屬性:
序號 | 屬性及說明 |
---|---|
1 | Count 獲取 BitArray 中包含的元素個數。 |
2 | IsReadOnly 獲取一個值,該值指示 BitArray 是否為只讀。 |
3 | Item 獲取或設定 BitArray 中特定位置的位的值。 |
4 | Length 獲取或設定 BitArray 中的元素個數。 |
下表列出了一些常用的BitArray類的方法:
序號 | 方法及說明 |
---|---|
1 | public BitArray And(BitArray value); 對當前 BitArray 中的元素與指定 BitArray 中的對應元素執行按位 AND 運算。 |
2 | public bool Get(int index); 獲取 BitArray 中特定位置的位的值。 |
3 | public BitArray Not(); 反轉當前 BitArray 中的所有位值,以便將設定為 true 的元素更改為 false,將設定為 false 的元素更改為 true。 |
4 | public BitArray Or(BitArray value); 對當前 BitArray 中的元素與指定 BitArray 中的對應元素執行按位 OR 運算。 |
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 類的用法:
using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { //creating two bit arrays of size 8 BitArray ba1 = new BitArray(8); BitArray ba2 = new BitArray(8); byte[] a = { 60 }; byte[] b = { 13 }; //storing the values 60, and 13 into the bit arrays ba1 = new BitArray(a); ba2 = new BitArray(b); //content of ba1 Console.WriteLine("Bit array ba1: 60"); for (int i = 0; i < ba1.Count; i++) { Console.Write("{0, -6} ", ba1[i]); } Console.WriteLine(); //content of ba2 Console.WriteLine("Bit array ba2: 13"); for (int i = 0; i < ba2.Count; i++) { Console.Write("{0, -6} ", ba2[i]); } Console.WriteLine(); BitArray ba3 = new BitArray(8); ba3 = ba1.And(ba2); //content of ba3 Console.WriteLine("Bit array ba3 after AND operation: 12"); for (int i = 0; i < ba3.Count; i++) { Console.Write("{0, -6} ", ba3[i]); } Console.WriteLine(); ba3 = ba1.Or(ba2); //content of ba3 Console.WriteLine("Bit array ba3 after OR operation: 61"); for (int i = 0; i < ba3.Count; i++) { Console.Write("{0, -6} ", ba3[i]); } Console.WriteLine(); Console.ReadKey(); } } }
編譯並執行上述程式碼後,將產生以下結果:
Bit array ba1: 60 False False True True True True False False Bit array ba2: 13 True False True True False False False False Bit array ba3 after AND operation: 12 False False True True False False False False Bit array ba3 after OR operation: 61 True False True True False False False False