Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp Language Specification.doc
Скачиваний:
12
Добавлен:
26.09.2019
Размер:
4.75 Mб
Скачать

C#

Спецификация языка

Версия 4.0

Уведомление

© Корпорация Майкрософт (Microsoft Corp.), 1999-2010. Все права защищены. 

Microsoft, Windows, Visual Basic, Visual C# и Visual C++ являются охраняемыми товарными знаками корпорации Майкрософт в США и других странах.

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

Оглавление

Уведомление 2

1. Введение 1

1.1 Программа «Hello world» 2

1.2 Структура программы 2

1.3 Типы и переменные 4

1.4 Выражения 8

1.5 Операторы языка 10

1.6 Классы и объекты 14

1.6.1 Члены 15

1.6.2 Доступность 15

1.6.3 Параметры типа 15

1.6.4 Базовые классы 16

1.6.5 Поля 16

1.6.6 Методы 17

1.6.6.1 Параметры 17

1.6.6.2 Тело метода и локальные переменные 19

1.6.6.3 Статические методы и методы экземпляров 19

1.6.6.4 Виртуальные, переопределяющие и абстрактные методы 20

1.6.6.5 Перегрузка метода 23

1.6.7 Другие члены-функции 24

1.6.7.1 Конструкторы 25

1.6.7.2 Свойства 26

1.6.7.3 Индексаторы 26

1.6.7.4 События 27

1.6.7.5 Операторы 27

1.6.7.6 Деструкторы 28

1.7 Структуры 28

1.8 Массивы 30

1.9 Интерфейсы 32

1.10 Перечисления 33

1.11 Делегаты 34

1.12 Атрибуты 35

2. Лексическая структура 38

2.1 Программы 38

2.2 Грамматики 38

2.2.1 Грамматическая нотация 38

2.2.2 Лексика 39

2.2.3 Синтаксическая грамматика 39

2.3 Лексический анализ 39

2.3.1 Знаки завершения строки 40

2.3.2 Комментарии 40

2.3.3 Пробел 42

2.4 Маркеры 42

2.4.1 Управляющие последовательности символов Юникода 42

2.4.2 Идентификаторы 43

2.4.3 Ключевые слова 45

2.4.4 Литералы 45

2.4.4.1 Логические литералы 46

2.4.4.2 Целочисленные литералы 46

2.4.4.3 Действительные литералы 47

2.4.4.4 Символьные литералы 47

2.4.4.5 Строковые литералы 49

2.4.4.6 Литерал null 50

2.4.5 Операторы и знаки пунктуации 50

2.5 Препроцессорные директивы 51

2.5.1 Символы условной компиляции 52

2.5.2 Препроцессорные выражения 52

2.5.3 Директивы объявлений 53

2.5.4 Директивы условной компиляции 54

2.5.5 Директивы диагностики 57

2.5.6 Директивы областей 58

2.5.7 Директивы строк 58

2.5.8 Директивы pragma 59

2.5.8.1 Директива pragma warning 59

3. Основные принципы 61

3.1 Запуск приложения 61

3.2 Завершение приложения 62

3.3 Объявления 62

3.4 Члены 65

3.4.1 Члены пространства имен 65

3.4.2 Члены структуры 65

3.4.3 Члены перечисления 66

3.4.4 Члены класса 66

3.4.5 Члены интерфейса 66

3.4.6 Члены массива 66

3.4.7 Члены делегата 66

3.5 Метод доступа к члену 66

3.5.1 Объявленная доступность 66

3.5.2 Домены доступности 67

3.5.3 Защищенный доступ для членов экземпляров. 70

3.5.4 Ограничения доступности 71

3.6 Сигнатуры и перегрузка 73

3.7 Области видимости 74

3.7.1 Скрытие имени. 77

3.7.1.1 Скрытие через вложение. 77

3.7.1.2 Скрытие через наследование 78

3.8 Имена пространств имен и типов 80

3.8.1 Полные имена 82

3.9 Автоматическое управление памятью 83

3.10 Порядок выполнения 86

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]