Latest web development tutorials

C # точечные массивы (BitArray)

C # набор C # набор

BitArray класс управляет компактный массив битовых значений, который использует логическое значение, указывающее, где правда немного на (1), ложное представление бит выключен (0).

Когда вам нужно хранить немного, но я не знаю заранее, количество битов, используя массив точек. Вы можете использоватьцелочисленный индекс , чтобыполучить доступ к массиву из точки сбора, индекс с нуля.

Методы класса и свойства BitArray

В следующей таблице перечислены некоторые общиеатрибуты класса BitArray:

属性描述
Count获取 BitArray 中包含的元素个数。
IsReadOnly获取一个值,表示 BitArray 是否只读。
Item获取或设置 BitArray 中指定位置的位的值。
Length获取或设置 BitArray 中的元素个数。

В следующей таблице перечислены некоторые из распространенныхметодов BitArrayкласса:

序号方法名 & 描述
1public BitArray And( BitArray value );
对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位与操作。
2public bool Get( int index );
获取 BitArray 中指定位置的位的值。
3public BitArray Not();
把当前的 BitArray 中的位值反转,以便设置为 true 的元素变为 false,设置为 false 的元素变为 true。
4public BitArray Or( BitArray value );
对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位或操作。
5public void Set( int index, bool value );
把 BitArray 中指定位置的位设置为指定的值。
6public void SetAll( bool value );
把 BitArray 中的所有位设置为指定的值。
7public 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 ложных ложных ложных ложных 

C # набор C # набор