Путь разработчика    

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


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

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

Python

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

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

...

Python

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

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

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

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

Python

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

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

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

Python

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

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



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Delphi 6. Учебный курс (В. В. Фаронов)

В книге "Delphi 6. Учебный курс" даются начальные сведения по системе программирования Delphi, разработанной американской корпорацией Borland International...

17 08 2019 16:55:19

Hello World! Занимательное программирование ( Картер Сэнд, Уоррен Сэнд )

Привет! Любишь компьютерные игрушки? А хочешь попробовать написать что-нибудь сам? Представь, как зауважают тебя друзья, когда ты покажешь им игру своей со...

16 08 2019 1:25:45

Как программировать на Visual C# 2012 (Пол Дейтел, Харви Дейтел)

Эта книга, выходящая уже в пятом издании, является одним из самых популярных в мире учебников по программированию на платформе Microsoft .NET на языке Visu...

15 08 2019 10:57:33

Чтение и запись текста в текстовых файлах в C#

Когда вы нажимаете кнопку «Write» кнопки примера, следующий код записывает значения в текстовые поля в файл. Этот код создает новый StreamWriter для записи...

14 08 2019 8:52:13

Что такое делегаты в C#?

Делегаты - это указатель функции безопасного типа.  Он содержит ссылку на функцию. Подпись делегатов соответствует сигнатуре функции, которая указывает на т...

13 08 2019 19:49:36

Что такое ключевое слово instanceof в Java?

Java instanceof - это ключевое слово. Это двоичный оператор, используемый для проверки, является ли объект (экземпляр) подтипом данного типа. Он возвращает...

12 08 2019 11:44:44

Перечислить узлы TreeView в C#

Предыдущие два сообщения показывают два способа перечисления узлов TreeView, которые проверяются. Идея состоит в том, чтобы рекурсивно сканировать узлы дер...

11 08 2019 0:50:31

Анимация проблемы Башни Ханоя в C#

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

10 08 2019 12:45:48

График уравнения в C#

Этот код начинается с определения границ координат -3 & le; x & le; 3, -3 & le; y & le; 3, где он будет рисовать график. Затем код превращает Bitmap в соот...

09 08 2019 2:25:40

Перемещение формы без заголовка в C#

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

08 08 2019 13:40:11

Как удалить часть изображения в C#

В этом примере вы можете удалить часть изображения. Он позволяет загружать файл изображения, а затем щелкнуть и перетащить, чтобы выбрать область на изобра...

07 08 2019 15:50:43

Самоучитель Java (Хабибуллин И.Ш)

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

06 08 2019 7:35:36

Отображать образцы шрифтов для всех установленных шрифтов в WPF и C#

Введите образец строки и выберите размер шрифта. Когда вы нажимаете « Показать образцы», выполняется следующий код. Этот код очищает метку имени шрифта в ни...

05 08 2019 20:10:57

Как отобразить содержимое XML файла в Unity 5

В сегодняшнем уроке мы разберем как отобразить содержимое XML файла в Unity 5 и заполнить им класс персонажа. Для этого мы воспользуемся System.Xml...

04 08 2019 3:30:33

Класс FileReader в Java

FileReader - это характерно-ориентированный класс, который используется для обработки файлов в Java. Он предназначен для чтения потоков символов. Один симв...

03 08 2019 18:51:53

Преобразования десятичного числа в двоичное в C#

В этой статье мы напишем программу на C# для преобразования десятичного числа в двоичное. Вывод:  ...

02 08 2019 1:47:36

Чтение и запись объектов в Java

Сериализация - это преобразование объекта в последовательность байтов, чтобы объект можно было легко сохранить в постоянном хранилище или потоковом потоке...

01 08 2019 3:58:12

Переопределение WndProc, чтобы увидеть, когда пользователь нажимает любой элемент управления на форме в C#

Метод WndProc формы обрабатывает сообщения, отправленные в форму операционной системой Windows. Это чрезвычайно важный метод, который позволяет формам пере...

31 07 2019 4:25:19

Фигурные изображения в C#

В этом примере показано, как использовать регионы для создания образов PictureBoxes. Формат изображения PNG позволяет вам определять прозрачные пиксели. Ка...

30 07 2019 21:13:16

Секреты профессиональной работы с «1С:Бухгалтерией 8». БАНК и КАССА (С. Харитонов , Д. Чистов)

В книге " Секреты профессиональной работы с «1 С: Бухгалтерией 8». Б А Н К и К А С С А" рассматривается порядок учета банковских и кассовых операций, расчетов с подо...

29 07 2019 1:48:11


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69