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 { класс программы { статической силы основных (String [] агдз) { // Создать два массива размером 8 точек BitArray ba1 = новый BitArray (8); BitArray ba2 = новый BitArray (8); байт [] а = {60}; байт [] Ь = {13}; // Значение 60 и 13 хранит точка массива ba1 = новый BitArray (а); Ba2 = новый BitArray (б); // Ba1 содержание Console.WriteLine ( "битовый массив Ba1: 60"); для (INT I = 0; я <ba1.Count; я ++) { Console.Write ( "{0, -6}", ba1 [я]); } Console.WriteLine (); // Ba2 содержание Console.WriteLine ( "битовый массив Ba2: 13"); для (INT I = 0; я <ba2.Count; я ++) { Console.Write ( "{0, -6}", Ba2 [я]); } Console.WriteLine (); BitArray Ba3 = новый BitArray (8); Ba3 = ba1.And (Ba2); // Ba3 содержание Console.WriteLine ( "битовый массив Ba3 после операции И: 12"); для (INT I = 0; я <ba3.Count; я ++) { Console.Write ( "{0, -6}", Ba3 [я]); } Console.WriteLine (); Ba3 = ba1.Or (Ba2); // Ba3 содержание Console.WriteLine ( "битовый массив Ba3 после операции ИЛИ: 61"); для (INT I = 0; я <ba3.Count; я ++) { Console.Write ( "{0, -6}", Ba3 [я]); } Console.WriteLine (); Console.ReadKey (); } } }
Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:
Бит ba1 массив: 60 Ложное значение False True True True True Ложь Ложь Бит ba2 массив: 13 True False True True ложных ложных ложных ложных Битовый массив Ba3 после операции И: 12 Ложное значение False True True ложных ложных ложных ложных Битовый массив Ba3 после операции ИЛИ: 61 True False True True ложных ложных ложных ложных