Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование. Введение в разработку на C#. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
блоку кода, а не к конкретной инструкции. Напротив, если комментарий относится к конкретной инструкции, надо разместить код ближе к этой инструкции.
16.4. Объявления и определения
Объявления классов и интерфейсов:
1) базовые классы и интерфейсы должны указываться на той же строке, что и объявление класса. Если список не умещается в 78 символов, снесите его, начиная с двоеточия, и сделайте отступ на одну табуляцию вправо. Размещайте на строке столько элементов, сколько умещается в 78 символов;
2) открывающая фигурная скобка должна находиться на строке, следующей за объявлением класса, на том же уровне отступа, что и класс.
Пример:
class MySample : MyClass, ImyInterface { // содержимое класса }
Объявления членов класса и интерфейса:
1) между именем метода и открывающей скобкой списка параметров не должно быть пробела;
2) тело метода должно быть сдвинуто на одну табуляцию относительно объявления.
Пример:
class MySample : MyClass, ImyInterface { private int myint;
public MySample(int myint) : base("hello, MyClass") {
111
this.myint = myint; }
private void Inc() { ++myint; }
protected virtual void EmptyVirtualMethod() { } }
Инструкции (statements):
1) каждая инструкция должна располагаться на отдельной строке;
2) составные инструкции оформляются открывающей фигурной скобкой на отдельной строке, списком инструкций, сдвинутым на одну табуляцию, и закрывающей фигурной скобкой на отдельной строке;
3) после ключевого слова (напр. if, while, for) перед открывающей круглой скобкой (если она есть) должен быть пробел.
16.5. Вопросы для самопроверки
1. Назовите основные стили использования регистра букв.
2. В чем их отличие?
3. Когда необходимо ставить нижнее подчеркивание при объявле-
нии членов классов?
4. Сколько символов составляет оптимальная наибольшая длина
строки кода?
5. Код чаще читают или пишут?
112
16.6. Задания для самопроверки
1. Подумайте, почему следует использовать знаки табуляции вме-
сто пробелов?
2. Почему вместо ссылки this используют нижнее подчеркивание
для внутренних членов класса?
3. Измените настройки стилей для кода в разделе, где задавались знаки табуляции и выполните автоматическое форматирование, отметь­те, что изменилось, а что осталось?
113
ВЫВОДЫ
Таким образом, в настоящем учебном пособии изложены общие вопросы, касающиеся разработки приложений на языке C#. Это совре­менный, востребованный рынком и промышленностью язык с хорошо отлаженной инфраструктурой поддержки. Объем нововведений от вер­сии к версии, возможностей, тонкостей работы и «подводных камней» в C# настолько обширен, что не позволяет раскрыть даже сотую часть знаний в рамках одного пособия. И хотя данное издание ориентирован­но на аудиторию начального уровня, авторы постарались затронуть все ключевые аспекты и вопросы программирования для быстрого старта при написании программ.
Можно надеяться, что прочитав учебник до конца, студенты смогут пойти дальше по пути освоения новых знаний, сложных и разносторон­них тем, став профессионалами в искусстве разработки программного обеспечения.
114
ЗАКЛЮЧЕНИЕ
Язык C# и платформа Microsoft .NET предлагают решение проблем, стоящих перед организациями, позволяя представить структуру прило­жения в целом и использовать полный набор технологий Microsoft. Создатели приложений применяют эти технологии для разработки, раз­вертывания и поддержки различных приложений, от простейших до многоуровневых распределенных.
Платформенный подход, предлагаемый .NET, заключается в обес­печении разработчиков высокоинтегрированной, и в то же время гиб­кой средой, на которой можно проектировать бизнес-решения, игровые или высоконагруженные системы вне зависимости от места разверты­вания – настольный компьютер, облачные вычисления или мобильная платформа.
Одним из последних рубежей применения C# кода вполне могут стать наукоемкие вычисления. Он сможет сыграть серьезную роль в на­учном сообществе, открывая двери численным расчетам следующего поколения. Несмотря на разговоры о медленной работе кода под вирту­альной машиной из-за задержек в управлении памятью, весьма слож­ный код выполняется удивительно быстро.
В данном учебном пособии изложен материал, позволяющий полу­чить общее представление о возможностях практического использова­ния языка C# при решении разного круга задач. Дополнительные све­дения по разработке приложения, а также задания для самостоятельно­го решения и множество различных примеров можно получить из книг, приведенных в списке рекомендованной и дополнительной литературы.
115
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Стиллмен, Э. Изучаем C# / Э. Стиллмен, Д. Грин – Изд. 2-е. – Спб.: Питер,
2012. – 704 с.
2. Шилдт, Г. C# 4.0: полное руководство / Г. Шилдт. – М.: Вильямс, 2012. – 1056
с.
3. Скит, Дж. C#: программирование для профессионалов / Дж. Скит – Изд. 2-е. –
М.: Вильямс, 2011. – 544 с.
4. Рихтер, Дж. Программирование на платформе Microsoft .NET Framework 4.0 на
языке C# / Дж. Рихтер. – Изд. 3-е. – Спб.: Питер, 2012. – 928 с.
5. Фримен, А. LINQ. Язык интегрированных запросов в C# 2010 для
профессионалов / А. Фримен, Дж. Раттц-мл. – М.: Вильямс, 2011. – 656 с.
6. Кнут, Д.Э. Искусство программирования / Д.Э. Кнут. – В 4-х т. Том 1.
Основные алгоритмы.: Пер. с англ. – М.: Вильямс, 2012. – 720 с.: ил.
7. Эванс, Э. Предметно-ориентированное проектирование (DDD) / Э. Эванс. –
Пер. с англ. – М.: Вильямс, 2011. – 448 с.: ил.
8. SharpCrafters s.r.o., AOP on .NET [Электронный документ]
(http://www.sharpcrafters.com/aop.net) Проверено 08.11.2012.
9. Рамбо, Дж. UML 2.0 Объектно-ориентированное моделирование и разработка /
Дж. Рамбо, М. Блаха. – Пер. с англ. – СПб.: Питер, 2007. – 544 с.: ил.
10. Фаулер, М. Архитектура корпоративных программных приложений / М.
Фаулер. – Пер. с англ. – М.: Вильямс, 2007. – 544 с.: ил.
11. Гамма, Э. Приемы объектно-ориентированного проектирования. Паттерны
проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. – Пер. с англ. – СПб.: Питер, 2007. – 366 с.: ил.
12. Оррам, Э. Идеальная разработка ПО. Рецепты лучших программистов / Э.
Орам, Г. Уилсон. – Пер. с англ. – СПб.: Питер, 2012. – 592 с.: ил.
116
СОДЕРЖАНИЕ
ПРЕДИСЛОВИЕ ...................................................................................................... 3
ВВЕДЕНИЕ .............................................................................................................. 5
1 ОСНОВЫЕ СВЕДЕНИЯ О ПЛАТФОРМЕ И ЯЗЫКЕ ...................................... 10
1.1 Платформа .NET ........................................................................................... 10
1.2 Выбор среды разработки .............................................................................. 10
1.3 Установка среды разработки ........................................................................ 11
1.4 Первый проект .............................................................................................. 12
1.5 Вопросы для самопроверки ......................................................................... 18
1.6 Задания для самопроверки ........................................................................... 18
2 ТИПЫ ДАННЫХ И РАБОТА С НИМИ ............................................................. 20
2.1 Работа с типами и их отличие ...................................................................... 20
2.2 Пространства имен ....................................................................................... 23
2.3 Арифметические операции .......................................................................... 25
2.4 Вопросы для самопроверки ......................................................................... 31
2.5 Задания для самопроверки ........................................................................... 31
3 ПРОВЕРКА ЛОГИЧЕСКИХ УСЛОВИЙ.......................................................... 32
3.1 Логический тип данных ............................................................................... 32
3.2 Условный оператор if-else ............................................................................ 33
3.3 Условный оператор switch ............................................................................ 34
3.4 Вопросы для самопроверки ......................................................................... 37
3.5 Задания для самопроверки ........................................................................... 37
4 ЦИКЛИЧЕСКИЕ КОНСТРУКЦИИ ................................................................... 39
4.1 Алгоритмы .................................................................................................... 39
4.2 Виды циклов ................................................................................................. 41
4.2.1 Безусловные циклы ................................................................................... 41
4.2.2 Цикл с предусловием ................................................................................ 41
4.2.3 Цикл с постусловием ................................................................................. 41
4.2.4 Цикл с выходом из середины .................................................................... 42
4.2.5 Цикл со счётчиком ..................................................................................... 43
4.2.6 Совместный цикл ...................................................................................... 43
4.3 Вопросы для самопроверки ......................................................................... 44
4.4 Задания для самопроверки ........................................................................... 44
5 РАБОТА С МАССИВАМИ ................................................................................. 46
5.1 Одномерные и многомерные числовые массивы ....................................... 46
5.2 Класс Array ................................................................................................... 48
5.3 Пример работы с массивами ........................................................................ 50
5.4 Вопросы для самопроверки ......................................................................... 52
117
5.5 Задания для самопроверки ........................................................................... 52
6 РАБОТА СО СТРОКАМИ И СИМВОЛАМИ .................................................... 54
6.1 Строковой тип String .................................................................................... 54
6.2 Примеры работы с типом String .................................................................. 56
6.3 Тип работы со строками StringBuilder ......................................................... 59
6.4 Символьный тип Char .................................................................................. 60
6.5 Вопросы для самопроверки ......................................................................... 61
6.6 Задания для самопроверки ........................................................................... 62
7 ПОЛЬЗОВАТЕЛЬСКИЕ ТИПЫ .......................................................................... 63
7.1 Сложный пользовательский тип – class ...................................................... 63
7.2 Создание и использование классов ............................................................. 65
7.3 Преобразование из простых типов в сложные ............................................ 68
7.4 Вопросы для самопроверки ......................................................................... 69
7.5 Задания для самопроверки ........................................................................... 69
8 МЕТОДЫ КЛАССА ............................................................................................ 70
8.1 Понятие методов класса ............................................................................... 71
8.2 Примеры реализации методов ..................................................................... 72
8.3 Вопросы для самопроверки ......................................................................... 73
8.4 Задания .......................................................................................................... 73
9 НАСЛЕДОВАНИЕ .............................................................................................. 75
9.1 Краткие теоретические сведения ................................................................. 75
9.2 Расширение класса с помощью наследования ............................................ 77
9.3 Вопросы для самопроверки ......................................................................... 79
9.4 Задания для самопроверки ........................................................................... 80
10 ИНКАПСУЛЯЦИЯ. МОДИФИКАТОРЫ ДОСТУПА ..................................... 81
10.1 Краткие теоретические сведения ............................................................... 81
10.2 Вопросы для самопроверки ....................................................................... 82
10.3 Задания для самопроверки ......................................................................... 83
11 АБСТРАКТНЫЕ ТИПЫ ДАННЫХ ................................................................. 84
11.1 Абстракция .................................................................................................. 84
11.2 Вопросы для самопроверки ....................................................................... 86
11.3 Задания ........................................................................................................ 86
12 ПОЛИМОРФИЗМ. ПЕРЕГРУЗКА ОПЕРАТОРОВ.......................................... 87
12.1 Полиморфизм ............................................................................................. 87
12.2 Примеры реализации.................................................................................. 88
12.3 Перегрузка операторов ............................................................................... 90
12.4 Вопросы для самопроверки ....................................................................... 91
12.5 Задания для самопроверки ......................................................................... 91
13 КОЛЛЕКЦИИ: ВИДЫ И НАЗНАЧЕНИЕ ....................................................... 92
118
13.1 Понятие коллекций ..................................................................................... 92
13.2 Типы коллекций .......................................................................................... 93
13.3 Примеры работы с коллекциями................................................................ 95
13.4 Вопросы для самопроверки ....................................................................... 98
13.5 Задания для самопроверки ......................................................................... 98
14 GENERICS. LAMBDA. LINQ ......................................................................... 100
14.1 Обобщенный типы ................................................................................... 100
14.2 Лямбда-функции ....................................................................................... 101
14.3 LINQ .......................................................................................................... 102
14.4 Вопросы для самопроверки ..................................................................... 103
14.5 Задания для самопроверки ....................................................................... 103
15 РАБОТА С ФАЙЛАМИ ................................................................................... 104
15.1 Краткие теоретические сведения ............................................................. 104
15.2 Вопросы для самопроверки ..................................................................... 105
15.3 Задания для самопроверки ....................................................................... 105
16 ПРАВИЛА НАПИСАНИЯ КОДА. ПРАВИЛА ИМЕНОВАНИЯ .................. 106
16.1 Краткие теоретические сведения ............................................................. 106
16.2 Выбор названий ........................................................................................ 106
16.3 Стиль кода ................................................................................................. 109
16.4 Объявления и определения ...................................................................... 111
16.5 Вопросы для самопроверки ..................................................................... 112
16.6 Задания для самопроверки ....................................................................... 113
ВЫВОДЫ.............................................................................................................. 114
ЗАКЛЮЧЕНИЕ .................................................................................................... 115
БИБЛИОГРАФИЧЕСКИЙ СПИСОК .................................................................. 116
119
Учебное издание
ЗАБЕРЖИНСКИЙ Борислав Эдуардович
ЗОЛИН Алексей Георгиевич
Программирование. Введение в разработку на C#
Редактор В.В. Прокопова
Компьютерная верстка И.О. Миняева
Выпускающий редактор Ю.А. Петропольская
Подписано в печать 24.07.17
Формат 60х84 1/16. Бумага офсетная
Усл. 6,97 п. л. Уч.-изд. 6,8 л.
Тираж 50. Рег. № 140/17
Федеральное государственное
Федеральное государственное бюджетное
образовательное учреждение высшего образования
«Самарский государственный технический университет»
443100, г. Самара, ул. Молодогвардейская, 244. Главный корпус
Отпечатано в типографии
Самарского государственного технического университета
443100, г. Самара, ул. Молодогвардейская, 244. Корпус №8
120
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]