C#面试题更新 2026-08-05

请解释 C# 中 BitArray 的概念及其在位操作方面的应用方法。

技术原理C#

考察说明

考察对 C# 集合类中 BitArray 的理解及位操作能力。

回答思路

  1. 【回答框架 1】BitArray 是 System.Collections 命名空间下的类,用于管理位值的紧凑数组,每个位表示布尔值 true/false。它比布尔数组更节省内存,因为每个元素只占用一位。
  2. 【回答框架 2】位操作包括设置、获取、清除和翻转位,常用方法有 Set、Get、SetAll、Not、And、Or、Xor 等。例如,使用 And、Or、Xor 可以对两个 BitArray 进行按位逻辑运算。
  3. 【回答框架 3】BitArray 还支持索引器访问,如 arr[i] 获取或设置第 i 位的值。其长度可以动态调整,通过设置 Length 属性或使用构造函数指定。
  4. 【关键点 1】BitArray 每个元素占用一位,适合存储大量布尔值。
  5. 【关键点 2】支持按位逻辑运算(And、Or、Xor、Not)。
  6. 【关键点 3】索引器访问和 Length 属性方便操作。
  7. 【易错点 1】BitArray 索引从 0 开始,注意越界。
  8. 【易错点 2】与 bool[] 相比,BitArray 元素是 bool 类型,但存储方式不同。
  9. 【易错点 3】位运算结果会改变调用对象的状态,注意副本需求可 Clone 或构造。