Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование. Введение в разработку на C#. Учебное пособие
.pdf
блоку кода, а не к конкретной инструкции. Напротив, если
комментарий относится к конкретной инструкции, надо
разместить код ближе к этой инструкции.
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
