- •Предисловие
 - •Объектная ориентация программ на C#
 - •1.1. Типы, классы, объекты
 - •1.2. Программа на C#
 - •1.3. Пространство имен
 - •1.4. Создание консольного приложения
 - •Типы в языке C#
 - •2.1. Типы ссылок и типы значений
 - •2.2. Классификация типов C#
 - •2.3. Простые типы. Константы-литералы
 - •2.4. Объявления переменных и констант базовых типов
 - •Операции и целочисленные выражения
 - •3.1. Операции языка C#
 - •3.2. Операции присваивания и оператор присваивания
 - •3.3. Операции инкремента (++) и декремента (--)
 - •3.4. Выражения с арифметическими операциями
 - •3.5. Поразрядные операции
 - •Выражения с операндами базовых типов
 - •4.1. Автоматическое и явное приведение арифметических типов
 - •4.2. Особые ситуации в арифметических выражениях
 - •4.3. Логический тип и логические выражения
 - •4.4. Выражения с символьными операндами
 - •5.2. Простые (базовые) типы C# как классы
 - •Операторы
 - •6.1. Общие сведения об операторах
 - •6.2. Метки и оператор безусловного перехода
 - •6.4. Операторы цикла
 - •6.5. Операторы передачи управления
 - •6.6. Переключатель
 - •Массивы
 - •7.1. Одномерные массивы
 - •7.2. Массивы как наследники класса Array
 - •7.3. Виды массивов и массивы многомерные
 - •7.5. Массивы массивов и поверхностное копирование
 - •Строки – объекты класса string
 - •8.1. Строковые литералы
 - •8.2. Строковые объекты и ссылки типа string
 - •8.3. Операции над строками
 - •8.5. Форматирование строк
 - •8.6. Строка как контейнер
 - •8.7. Применение строк в переключателях
 - •8.8. Массивы строк
 - •8.8. Сравнение строк
 - •8.10. Аргументы метода Main()
 - •Методы C#
 - •9.2. Соотношение фиксированных параметров и аргументов
 - •9.3. Параметры с типами ссылок
 - •9.4. Методы с переменным числом аргументов
 - •9.5. Перегрузка методов
 - •9.6. Рекурсивные методы
 - •9.7. Применение метода Array.Sort()
 - •Класс как совокупность статических членов
 - •10.1. Статические члены класса
 - •10.2. Поля классов (статические поля)
 - •10.3. Статические константы
 - •10.4. Статические методы
 - •10.5. Статический конструктор
 - •10.6. Статические классы
 - •Классы как типы
 - •11.1. Объявление класса
 - •11.2. Поля объектов
 - •11.3. Объявления методов объектов
 - •11.4. Пример класса и его объектов
 - •11.5. Ссылка this
 - •11.6. Конструкторы объектов класса
 - •11.7. Деструкторы и финализаторы
 - •Средства взаимодействия с объектами
 - •12.1. Принцип инкапсуляции и методы объектов
 - •12.2. Свойства классов
 - •12.3. Автореализуемые свойства
 - •12.4. Индексаторы
 - •12.5. Индексаторы, имитирующие наличие контейнера
 - •Включение, вложение и наследование классов
 - •13.1. Включение объектов классов
 - •13.2. Вложение классов
 - •13.3. Наследование классов
 - •13.4. Доступность членов класса при наследовании
 - •13.5. Методы при наследовании
 - •13.6. Абстрактные методы и абстрактные классы
 - •13.7. Опечатанные классы и методы
 - •13.8. Применение абстрактых классов
 - •Интерфейсы
 - •14.1. Два вида наследования в ООП
 - •14.2. Объявления интерфейсов
 - •14.3. Реализация интерфейсов
 - •14.4. Интерфейс как тип
 - •14.5. Интерфейсы и наследование
 - •Перечисления и структуры
 - •15.1. Перечисления
 - •15.2. Базовый класс перечислений
 - •15.3. Структуры
 - •15.4. Упаковка и распаковка
 - •15.5. Реализация структурами интерфейсов
 - •Исключения
 - •16.1. О механизме исключений
 - •16.3. Свойства исключений
 - •16.5. Исключения в арифметических выражениях
 - •16.6. Генерация исключений
 - •16.7. Пользовательские классы исключений
 - •Делегаты и события
 - •17.1. Синтаксис делегатов
 - •17.2. Массивы делегатов
 - •17.3. Многоадресные групповые экземпляры делегатов
 - •17.4. Делегаты и обратные вызовы
 - •17.5. Анонимные методы
 - •17.6. События
 - •Литература
 - •Предметный указатель
 
Рецензенты:
Кафедра «Программное обеспечение ЭВМ и информационные технологии» Московского государственного технического университета имени Н.Э. Баумана.
(Заведующий кафедрой Б.Г.Трусов, доктор технических наук, профессор); М.В. Курак,
кандидат техических наук, доцент кафедры «Автоматизации обработки информации»
Академии бюджета и казначейства Министерства финансов Российской Федерации
Язык С# Базовый курс: учеб. пособие/ В.В Подбельский. –М.:
Финансы и статистика, 2010. – с.: ил. ISBN 978-5-279-03497-0
Доступно для первоначального знакомства и с нужной строгостью представлены классы и интерфейсы, строки и массивы, индексаторы и свойства, делегаты и события, исключения и такие основополагающие принципы объектно-ориентирован- ного программирования, как наследование, полиморфизм, инкапсуляция. Примеры программ позволяют читателю не только глубоко изучить синтаксис и семантику языка, но и получить практические навыки программирования на С#. С этой целью рассмотрены основные особенности платформы .NET Framework и возможности ее библиотек.
Для программистов, переходящих с других языков программирования на язык С#, для студентов и преподавателей, связанных с разработкой программ для платформы .NET.
Предисловие
Пособие предназначено для студентов, изучающих программирование, а также для читателей, желающих самостоятельно освоить язык программирования C#. В отличие от достаточно многочисленных руководств по C# данная книга посвящена именно основам языка, без знания которых невозможно обойтись при его практическом применении.
Такой язык программирования, как C#, нельзя изучать «линейно», условно говоря, «от аксиом к теоремам, задачам и выводам», поэтому изложение материала (языка C# и программирования на C#) будет проходить «по спирали». К некоторым понятиям, использованным в той или иной иллюстративной программе с краткими пояснениями, в следующих темах обращаются вновь, постепенно полностью объясняя их.
Пособие состоит из 17 глав. Глава 1 дает общее представление о структуре простейшей программы на языке С#. Главы 2–6 знакомят читателя с такими базовыми понятиями процедурного программирования, как константы, переменные, выражения, операторы. Однако процедурный подход к созданию программ на языке C# с неизбежностью приводит к применению тех или иных классов и объектов. Даже традиционные для языков программирования переменные базовых типов в языке C# являются «проекциями» на классы из .NET Framework. Платформа .NET Framework и особенности базовых типов языка C# как ее библиотечных классов описаны в главе 5.
Главы 7 и 8 посвящены массивам и строкам. Для массивов и строк языка C# приходится различать объекты и ссылки на них. Тем самым читатель с необходимостью приходит к пониманию назначения конструкторов и особенностям применения операции new.
В главе 9 рассмотрены синтаксис и семантика методов языка C#, все виды параметров и особенности применения в качестве параметров ссылок. Подробно описаны перегрузка методов, рекурсивные методы и методы с переменным числом аргументов.
