- •Содержание
- •Тема 1. Введение в язык программирования c#
- •Первое знакомство с языком программирования с#
- •Языки программирования и компиляторы
- •Устройство компьютера
- •Процесс разработки программного обеспечения
- •Процесс исполнения программы на с#
- •Три различных типа ошибок
- •Знакомство с .Net
- •Синтаксические блоки
- •Тема 2. Синтаксис языка программирования с#, встроенные типы данных Алфавит языка программирования с#
- •Идентификаторы
- •Типы данных языка программирования с#
- •Встроенные простые типы языка c#
- •Совместимость целочисленных типов
- •Тема 3. Переменные, бинарные в языке программирования с# Присваивание значений переменным
- •Бинарные операции.
- •Операции сравнения и логические выражения
- •Алгоритм
- •Тема 4. Операторы ветвления Простой оператор if
- •Оператор if / else
- •Вложенные операторы if
- •Операторы if-else с несколькими ветвями
- •Оператор Switch
- •Рекомендации по использованию оператора switch
- •Область видимости переменных
- •Тема 5. Операторы итерации
- •Оператор цикла while
- •Оператор цикла do-while
- •Оператор цикла for
- •Оператор break
- •Оператор continue
- •Вложенные операторы итерации
- •Тема 6. Массивы Общие сведения
- •Перебор элементов массива Оператор for и foreach
- •????Методы для работы с массивами Многомерные массивы
- •?????Массивы неправильной формы Тема 7. Специальные типы
- •Работа со строками
- •Доступ к отдельным символам в строке.
- •Разработка алгоритма выборки слов
- •Некоторые методы для работы со строками.
- •Тема 8. Объектно-ориентированное программирование ооп основные понятия и предпосылки возникновения.
- •Концепции ооп
- •Убрать Сборки.
- •Элементы класса и применение методов
- •Тема 9. Методы Объявление методов.
- •Статические методы.
- •Конструкторы
- •Семестр 2. Визуальное программирование. Введение в проектирование графических интерфейсов
- •Формы в приложениях c# Работа с формами
- •Добавление формы к проекту
- •Выбор первоначального размещения формы
- •Изменение внешнего вида формы
- •Свойства BackColor, ForeColor и Text
- •Свойства Font, Cursor и BackGroundlmage
- •Прозрачность формы
- •Выбор рамки для формы
- •Кнопки изменения размеров формы
- •Добавление фонового изображения
- •Изменение формы курсора
- •Методы формы
- •Метод Show()
- •Метод ShowDialog()
- •Метод Activate()
- •Метод Hide()
- •Метод Close()
- •События формы.
- •События жизненного цикла формы
- •Событие Load
- •События Activated и Deactivated
- •Изменение текста надписи
- •Изменение шрифта
- •Цвет текста и фона
- •Рамка вокруг поля
- •Изменение курсора мыши
- •Выравнивание текста
- •Меню Добавление меню
- •Позиционирование элементов управления в форме
- •Привязка к сетке
- •Настройка взаимного расположения элементов формы
- •Выравнивание
- •Установка размеров
- •Установка промежутков между элементами
- •Шрифт на кнопке
- •Выравнивание текста
- •Стиль кнопки
- •Блокирование кнопки
- •Изображение на поверхности кнопки
- •Фоновое изображение для кнопки
- •Списки.
- •Список ListBox
- •Список CheckedListBox
- •Список DomainUpDown
- •Элемент управления NumericUpDown
- •Элемент управления TrackBar
- •Форма и клавиша табуляции
- •Установка порядка передачи фокуса при нажатии клавиши Tab
- •Свойство TabStop
- •Вложенные элементы управления и контейнеры
- •Применение элементов управления Group Box и Panel
- •Элемент управления TabControl
- •Стыковка и фиксация элементов управления
- •Свойство Anchor
- •Свойство Dock
- •Обработка событий
- •Проверка данных вводимых пользователем
- •Применение свойств элемента управления TextBox к проверке данных вводимых пользователем
- •Применение событий для проверки на уровне поля
- •События KeyDown и KeyUp
- •Событие KeyPress
- •Работа с фокусом ввода
- •Проверка на уровне формы
- •Оповещение пользователя об ошибках ввода
- •Компонент ErrorProvider
- •Отображение сообщений об ошибках
- •Тема Графика в c#.
- •Контекст отображения
- •Класс Graphics
- •Событие Paint
- •Тема Методы и свойства класса Graphics. Рисование геометрических фигур Рисование линии (DrawLine)
- •Набор линий (DrawLines)
- •Рисование прямоугольника(DrawRectangle )
- •Набор прямоугольников (DrawRectangles )
- •Рисование многоугольника (DrawPolygon)
- •Рисование эллипса(DrawEllipse )
- •Результат работы метода DrawEllipse Рисование сегмента эллипса (DrawArc)
- •Рисование замкнутого сегмента эллипса(DrawPie)
- •Рисование кривых Безье (DrawBezier и DrawBeziers )
- •Рисование канонических сплайнов (DrawCurve и DrawClosedCurve)
- •Рисование закрашенных фигур.
- •Тема. Инструменты для рисования
- •Инструмент для рисования перо (Pen) и его свойства
- •Инструмент для рисования кисть (Brush)
- •Кисть SolidBrush
Рекомендации по использованию оператора switch
Ниже приведены основные рекомендации по использованию оператора switch.
Ограничение числа операторов в каждом разделе switch. Некоторые операторы switch содержат большое число разделов. Обилие операторов в них запутывает код. Поэтому сложные действия, требующие вызова большого числа команд, следует выносить в отдельные методы и вызывать их из разделов switch.
Упорядочение разделов по вхождению, номеру или символу (в алфавитном порядке). Простые операторы switch, представленные в примерах этого раздела, содержат небольшое число разделов, и их логику легко понять с первого взгляда. Однако многие конструкции switch могут быть достаточно протяженными, что значительно затрудняет их чтение, Схема, в которой метки case упорядочены, повышает читаемость кода.
Существует несколько возможных схем:
-
Схема по вхождению — если те разделы switch, которые запускаются наиболее часто, расположены в начале, это упрощает восстановление логики кода. Кроме того, это ускоряет его, так как редко используемые блоки не будут обрабатываться при каждом проходе.
-
Схема в алфавитном или числовом порядке — для упрощения навигации по меткам желательно расположить их в алфавитном или числовом порядке.
Использование раздела default с той же целью, что и выражение по умолчанию в операторе if-else с несколькими ветвями. Обратимся к двум основным правилам, обсуждавшимся при рассмотрении оператора if-else с несколькими ветвями, о выражении по умолчанию, следующем за последним условием else. Они применимы и к разделу default оператора switch:
-
Раздел default следует использовать только для тех действий, которые должны выполняться по умолчанию.
-
Если он не используется, в нем следует обрабатывать ошибки.
Область видимости переменных
В большинстве программ, рассмотренных ранее, для обозначения контекста класса или метода, в частности, метода Main(), использовались блочные конструкции с фигурными скобками.
С введением операторов if-else (которые могут содержать составные операторы) появилась возможность создавать программы, включающие вложенные блоки кода. Здесь важно представить новую концепцию, называемую областью видимости. Она определяет, какие сегменты (а значит, и переменные) исходного кода видны (и, таким образом, доступны) из других его частей. Область видимости — это технический термин, используемый для неформального словесного контекста.
Область видимости представляет собой сегмент исходного кода, где может использоваться определенный идентификатор. Переменные можно использовать лишь внутри их области видимости. Фактически, областью видимости переменной является тот блок исходного кода, где она объявлена.
Две основных области видимости в С # блок класса и блок метода, как показано на рисунке.
Хотя различие между ними, скорее, искусственное, область определения класса имеет несколько характеристик, отсутствующих в области определения метода. Например, операторы if-else можно разместить только в области определения метода. Для создания блока внутри блока совсем не обязательно использовать выражения наподобие if-else. Новый блок (а значит, и новую область видимости) можно создать, просто вставив пару фигурных скобок. Когда блок В находится внутри другого блока А, область видимости первого называется внутренней, а второго — внешней. Эти термины несут, очевидно, относительный смысл, поскольку область блока А является внутренней по отношению к области блока Main(). Блоки, созданные добавлением фигурных скобок, не имеют явных имен, и ссылаться на них нельзя.
Переменная, объявленная внутри метода, называется локальной.
Такие переменные недоступны за пределами блоков, в которых они объявлены. Общее правило гласит, что переменные, объявленные внутри блока, доступны только в нем (это относится и к переменным других внутренних блоков, вложенных в него) и только после объявления переменной. Переменную можно объявить в любом месте блока.
Действие этих правил иллюстрирует следующий рисунок. Здесь показаны два блока кода: один принадлежит методу Main(), а другой (размешенный внутри Main() — оператору if). Поскольку переменная distance объявлена в начале внешней области видимости, она доступна во всем блоке Main(), включая и код внутреннего блока оператора if. Переменная mass объявлена ближе к окончанию метода Main(). поэтому она доступна в относительно небольшом сегменте кода, между ее объявлением и окончанием области видимости Main(). Переменная energy объявлена внутри блока if и доступна лишь внутри него.
Объявление переменной во внутренней области с именем, идентичным имени переменной во внешней, является ошибкой. Причина заключается в том, что это придавало бы иное значение имени переменной из внешней области.