Добавьте полезные расширения в класс BitArray в C#

Пример Использование класса BitArray в C# объясняет, как для использования класса BitArray. Этот пример добавляет некоторые полезные функции в класс BitArray как методы расширения.

В следующем коде показаны методы расширения NumTrue и NumFalse, которые соответственно возвращают число true и false элементов в BitArray.

Метод NumTrue просто подсчитывает количество записей true в BitArray. Метод NumFalse вычитает NumTrue из общего количества записей в BitArray.

Метод NumTrue просто подсчитывает количество записей true в BitArray. Метод NumFalse вычитает NumTrue из общего количества записей в BitArray.

...

Метод AndAll проходит через значения и возвращает false, если есть false. Если все true, он возвращает true.

Метод OrAll проходит через значения и возвращает true, если он есть true. Если все false, он возвращает false.

Вы можете реализовать методы AndAll и OrAll с помощью методов NumTrue и NumFalse, но для этого потребуется изучая каждый элемент в BitArray. (Я оставлю это как довольно легкое упражнение). Показанные здесь методы иногда могут перестать быстро искать значения, чтобы сэкономить время.

Класс BitArray наследует версию класса объекта ToString, поэтому по умолчанию этот метод отображает имя класса «System.Collections.BitArray». Следующий код показывает несколько перегруженные версии метода ToString, который отображает значения объекта BitArray, отформатированные как текст.

Первая перегруженная версия делает интересную работу. Он проходит через значения объекта BitArray. В зависимости от каждого значения он добавляет true_value или false_value к строке результата, за которой следует разделитель. (Обратите внимание, что вы можете сделать разделитель «», если вы не хотите отделять значения.) Затем, если индекс значения плюс 1 является кратным параметру group_size, код вставляет разделитель групп , Это позволяет создавать такие значения, как 00111100 11000100 10000100 01000000.

Две другие перегруженные версии позволяют опустить разделитель групп и разделители групп и значений.

Следующий код показывает, как основная программа демонстрирует методы расширения BitArray.

Этот код создает BitArray, где i-я запись истинна, если [i - идеальный квадрат] XOR [является числом Фибоначчи]. Затем он демонстрирует расширение NumTrue, NumFalse, AndAll, OrAll и ToString методы.

Источник: http://csharphelper.com/blog/2016/03/add-useful-extensions-to-the-bitarray-class-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *