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

Как дать свойства индексатора по умолчанию для класса в C#


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

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

Python

Класс содержит объект Dictionary для хранения имен и оценок учащихся.

Два метода с именем this, который использует квадратные скобки, являются индексаторами. Первый индексщик принимает параметр string (имя студента) и возвращает класс ученика. Он предоставляет методы get и set, которые просто делегируют свою работу объекту Dictionary.

Основная программа использует следующую строку кода для использования этого индексатора для отображения оценки учащегося.

Python

В коде Grades [txtStudent.Text] используется индексатор, чтобы получить оценку для ученика, имя которого находится в txtStudent TextBox. Код преобразует возвращаемый класс в строку и отображает его в txtGrade TextBox.

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

Python

Левая часть выражения представляет класс ученика. Этот оператор устанавливает класс, равный значению в txtGrade TextBox.

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

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

Источник: http://csharphelper.com/blog/2017/03/give-a-class-default-indexer-properties-in-c/



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

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

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

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

22 10 2019 11:40:48

Языки программирования для начинающих: с чего лучше начать?

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

21 10 2019 1:48:49

Какое использование лямбда в Python?

Лямбда, 11-я буква греческого алфавита, является символом длины волны. Лямбда исходит из исчисления Лямбды и относится к анонимным функциям программировани...

20 10 2019 16:31:16

Целевое окно, как минимизировать, увеличить или восстановить его в C#

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

19 10 2019 11:26:23

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

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

18 10 2019 6:20:42

Сбор мусора в C#

В этом примере показано, как вы можете принудительно собрать сборку мусора на C#. Языки .NET используют схему сбора мусора управления памятью. Есть несколь...

17 10 2019 4:10:53

Использование памяти дисплея в C#

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

16 10 2019 0:37:42

Показать соответствия регулярных выражений в C#

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

15 10 2019 14:28:40

Как работает метод hashCode () Java?

Java.lang.Object имеет методы, называемые hasCode(), и эти методы играют значительную роль в приложении реального времени. Объект hashCode() Object фактиче...

14 10 2019 3:46:14

Сделать владельцем рисованные всплывающие подсказки с картинками в C#

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

13 10 2019 8:45:12

Эндрю Стиллмен - Изучаем C#, 3-е издание - 2014

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

12 10 2019 17:19:51

Выполнение специальных команд SQL в C#

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

11 10 2019 1:55:50

Циклы в Bash (for, while, until, break, continue, select)

В этом разделе нашего учебного пособия по Bash мы рассмотрим различные форматы циклов for, while, until, доступные нам, а также break, continue, select...

10 10 2019 6:22:56

Сделать общий класс очереди приоритетов в C#

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

09 10 2019 22:35:36

Языки программирования для создания игр

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

08 10 2019 14:35:24

Переменные в Bash

Переменные - одна из тех вещей, которые на самом деле довольно просты в использовании, но также довольно легко попасть в проблему, если вы неправильно понимаете, как они работают.  Таким образом, в этом разделе...

07 10 2019 16:52:27

Удалите нецифровые или не-буквы из строки в C#

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

06 10 2019 8:32:11

Выполнение нескольких действий по умолчанию в C#

Иногда (но не часто!) полезно, чтобы форма выполняла несколько действий по умолчанию в зависимости от той части формы, которую использует пользователь. В э...

05 10 2019 14:20:47

Сохранение изображений в базе данных Access в WPF и C#

Пример Отображение изображений в Доступ к базе данных в WPF и C# показывает, как вы можете отображать изображения, сохраненные в базе данных Access. Конечн...

04 10 2019 20:44:22

Преобразование файлов doc в файлы docx в C#

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

03 10 2019 16:27:54

Как отправить электронное письмо в C#

В этом примере показано, как вы можете отправлять электронную почту с помощью программы C#. В последние годы это стало сложнее, потому что есть несколько п...

02 10 2019 11:11:21

Как отобразить текст в StatusLabel, даже если он не подходит для C#

Если текст, отображаемый в StatusLabel, слишком длинный, чтобы вписаться в содержащийся элемент StatusStrip, тогда по умолчанию StatusLabel не показывать ч...

01 10 2019 11:12:54

Нарисуйте заполненную картиной гистограмму в C#

Пример Сделать простая гистограмма в C# показывает, как рисовать гистограмму. В этом примере показано, как заполнять бары гистограммы изображениями. Следую...

30 09 2019 4:44:47

Что такое JVM и является ли она независимой от платформы?

Java Virtual Machine (JVM) - это спецификация, предоставляющая среду выполнения, в которой может быть запущен Java-байт-код (файлы .class). JVM - платформа...

29 09 2019 11:11:54

Hello World! Первая программа на Java

Наиболее распространенным примером первой Java-программы является знаменитый Hello World! программа. Прежде чем перейти к первой программе Java, вы должны...

28 09 2019 16:21:36

PHP: обучение на примерах (А. Кухарчик)

Книга предназначена прежде всего для начинающих, но может быть полезна и опытным программистам, использующим Р Н Р. Просто и доступно изложены основы Р Н Р — п...

27 09 2019 7:53:20

Ассемблер - это просто. Учимся программировать. (Калашников О. А.)

Подробно и доходчиво объясняются все основные вопросы программирования на ассемблере. Рассмотрены команды процессоров Intel, 16- и 32-разрядные регистры, о...

26 09 2019 14:56:50

Метод Replace() в Java

Метод Java String replace() заменяет все существующие вхождения символа в String другим символом. Синтаксис Замена последовательностей символов Метод Java...

25 09 2019 5:40:30

Способы создать строку (String) в Java?

Существуют различные способы создания объекта String в Java: Использование строкового литерала Вы можете создавать объекты String со строковым литералом Ис...

24 09 2019 23:41:11

Язык программирования Python (Д.С.Откидач)

Python является простым и, в то же время, мощным интерпретируемым объектно-ориентированным языком программирования. Он предоставляет структуры данных высок...

23 09 2019 23:23:26

Выделение полигонов и полилиний в программе WPF с использованием C#

WPF позволяет вам делать всевозможные интересные вещи, которые намного сложнее в приложениях Windows Forms. Однако иногда, как в этом примере, это делает п...

22 09 2019 15:42:58

Нарисуйте пунктирные линии с помощью разных стилей штриховки в C#

Контрольная панель определяет, как программа рисует концы точек и тире, которые составляют пунктирную линию. Если линия шириной 1 пиксель, вы, вероятно, не...

21 09 2019 20:25:17

Инициализировать двумерные массивы в C#

Пример Инициализация массивов, списков и экземпляров классов в C# объясняется, как инициализировать одномерный массив. Вы можете использовать аналогичный с...

20 09 2019 12:21:44

В чем разница между классом и прототипным наследованием?

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

19 09 2019 23:17:36

Что такое NullPointerException в Java

NullPointerException - исключение RuntimeException. Исключения в Runtime являются критическими и не могут быть пойманы во время компиляции. Они приводят к...

18 09 2019 21:11:25

Какой язык программирования лучше изучать первым

Какой язык программирования лучше изучать первым? Программирование за последние годы не только не потеряло свою актуальность, но и стремительно становится все более востребовательным....

17 09 2019 16:56:50

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

Ключевое слово Java volatile гарантирует, что значение переменной volatile всегда будет считаться из основной памяти, а не из локального кэша Thread. Это о...

16 09 2019 23:22:45

Сжатие файлов JPG в каталоге в C#

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

15 09 2019 2:50:40

Сохранение цветовой палитры в настройках программы на C#

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

14 09 2019 15:30:24

Как настроить объект на null, помогая сборке мусора?

Не обязательно. Объект становится пригодным для сбора мусора, когда нет живых потоков, которые содержат ссылку на объект. Явное обнуление - это просто прак...

13 09 2019 11:22:51

Используйте «округление банкира» и «нормальное округление» в C#

По умолчанию метод Math.Round использует «округление банкира». При округлении банкира число с конечной цифрой 5 округляется до ближайшего четного числа, а...

12 09 2019 1:22:13

Гамма-коррекция изображения в C#

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

11 09 2019 20:47:24

Как подсчитать пиксели разных цветов в C#

Следующий CountPixels метод подсчитывает пиксели в изображении, который соответствует целевому цвету. Этот код достаточно прост. Он пропускает пиксели, выз...

10 09 2019 14:35:59

Как сделать метафайл в C#

Пример Отображение метафайла Windows (wmf) в C# < / a> объясняет, как отображать метафайл и почему метафайлы могут давать лучшие результаты, чем растровые...

09 09 2019 20:11:10

Что такое механизм передачи параметров Python?

В терминах официальных Документация Python , аргументы передаются путем назначения в Python. Фактические параметры (аргументы) для вызова функции вводятся...

08 09 2019 6:10:57

Эффективность использования топлива в разных единицах в C#

Люди в Соединенных Штатах, Канаде, Соединенном Королевстве и некоторых других местах измеряют эффективность использования топлива в милях на галлон. Как и...

07 09 2019 10:16:27

PHP. Объекты, шаблоны и методики программирования, 4-е издание (Мэт Зандстра)

Четвертое издание книги было пересмотрено и дополнено новым материалом. Книга начинается с обзора объектно-ориентированных возможностей PHP, в который вклю...

06 09 2019 21:58:29

Класс BufferedWriter в Java

Класс BufferedWriter обладает функциональностью записи буферов символов в файл. Он расширяет Writer, который является абстрактным классом для записи потоко...

05 09 2019 6:48:50

Инструмент, который создает файлы PNG с прозрачным фоном в C#

Когда вы используете команду « Открыть» меню « Файл», следующий код позволяет вам выбрать файл изображения. В этом коде отображается OpenFileDialog. Если пол...

04 09 2019 15:37:47

Как рассчитать сумму денег в C#

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

03 09 2019 19:42:30

Нарисуйте цветное колесо в C#

В программе используется PathGradientBrush, чтобы заполнить цветовое колесо цветовыми образцами. Рисование колеса в основном автоматическое, но прикладывае...

02 09 2019 10:50:35

Сохранение цветовой палитры в настройках программы на C#

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

01 09 2019 18:35:21

Используйте сегменты для рисования трехмерных осей с тиковыми метками с использованием WPF и C#

В этом примере используются методы, описанные в post Нарисуйте улучшенные 3D-сегменты, используя WPF и C# , чтобы нарисовать 3D-оси с тиковыми метками. Вы...

31 08 2019 14:18:13

Создайте 3D-поверхность очень быстро с помощью WPF, XAML и C#

Пример Нарисуйте гладкое 3D-изображение поверхность с WPF, XAML и C# рисует гладкую поверхность, но занимает около 16 секунд на моем компьютере. Пример Соз...

30 08 2019 4:17:20

Перечислите уникальные слова в файле Microsoft Word в C#

Пример Список уникальных слов в тексте файл в C# показывает, как перечислить уникальные слова в текстовом файле. В этом примере показано, как перечислять у...

29 08 2019 1:36:14

Использование методов расширения строк для проверки номеров социального обеспечения в C#

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

28 08 2019 23:16:36

Координаты чертежа карты без искажений в C#

Сообщение Легко отображать координаты чертежа в C# позволяет вам легко сопоставить прямоугольник при рисовании координат прямоугольника в координатах устро...

27 08 2019 16:28:23

В чем разница между поточной и многопроцессорной обработкой?

Нить процесса означает сегмент кода процесса, который имеет свой собственный идентификатор потока, счетчик программ, регистры и стек и может выполняться не...

26 08 2019 5:21:46

Используйте tristate CheckBox в C#

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

25 08 2019 11:33:27

JavaScript: логические операторы

  AND оператор: & & OR оператор: || NOT оператор: ! Логические операторы обычно используются с логическими (логическими) значениями. Когда они...

24 08 2019 0:37:20

Разница между capacity() и size() вектора в Java

Разница между capacity() и size() в Java.util.Vector заключается в том, что size() - это количество элементов, которые в настоящее время удерживаются, а ca...

23 08 2019 23:19:39

Разница между Mutable и неизменяемым в Python

Все в Python - это объект. Вы должны понимать, что Python представляет все свои данные как объекты. Изменчивость объекта определяется его типом. Некоторые...

22 08 2019 15:57:41

Легко нарисовать повернутый текст на форме в C#

Пример Нарисовать повернуть текст в C# показывает, как рисовать повернуть текст. К сожалению, этот метод требует, чтобы вы использовали код во время выполн...

21 08 2019 22:50:48

Отображение предопределенных значков системы в C#

В этом примере отображаются доступные системные значки. Следующий способ DrawIconSample отображает значок и его название. Код вызывает метод Graphics объек...

20 08 2019 20:32:38

StringTokenizer в Java

Класс StringTokenizer пакета Java.util позволяет приложению разбивать или разбивать строку на мелкие части с помощью определенного разделителя (пробел явля...

19 08 2019 13:19:20

Отображать данные master-detail в DataGrid в C#

Во время разработки я добавил проект Database.mdb в проект, установил его свойство «Build Action» в « Содержимое» и установил его свойство « Копировать в вых...

18 08 2019 16:32:47

Сделайте кнопку с картинкой под ней в C#

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

17 08 2019 9:21:26

Получите серийный номер тома диска в C#

В этом примере используется функция API GetVolumeInformation, поэтому получите серийный номер тома диска. Он начинается с , используя пространство имен Sys...

16 08 2019 15:28:49


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