Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Table of Contents 1 страница





Language Specification

Version 4.0


Notice

© 1999-2010 Microsoft Corporation. All rights reserved.

Microsoft, Windows, Visual Basic, Visual C#, and Visual C++ are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries/regions.

Other product and company names mentioned herein may be the trademarks of their respective owners.

 

Table of Contents

1. Introduction.......................................................................................................................................... 1

1.1 Hello world......................................................................................................................................... 1

1.2 Program structure............................................................................................................................... 2

1.3 Types and variables............................................................................................................................. 4

1.4 Expressions......................................................................................................................................... 6

1.5 Statements.......................................................................................................................................... 8

1.6 Classes and objects............................................................................................................................ 12

1.6.1 Members.................................................................................................................................... 12

1.6.2 Accessibility................................................................................................................................ 13

1.6.3 Type parameters......................................................................................................................... 13

1.6.4 Base classes............................................................................................................................... 14

1.6.5 Fields.......................................................................................................................................... 14

1.6.6 Methods..................................................................................................................................... 15

1.6.6.1 Parameters........................................................................................................................... 15

1.6.6.2 Method body and local variables............................................................................................. 16

1.6.6.3 Static and instance methods................................................................................................... 17

1.6.6.4 Virtual, override, and abstract methods................................................................................... 18

1.6.6.5 Method overloading............................................................................................................... 20

1.6.7 Other function members.............................................................................................................. 21

1.6.7.1 Constructors......................................................................................................................... 22

1.6.7.2 Properties............................................................................................................................. 23

1.6.7.3 Indexers............................................................................................................................... 23

1.6.7.4 Events.................................................................................................................................. 24

1.6.7.5 Operators............................................................................................................................. 24

1.6.7.6 Destructors........................................................................................................................... 25

1.7 Structs.............................................................................................................................................. 25

1.8 Arrays.............................................................................................................................................. 26

1.9 Interfaces......................................................................................................................................... 27

1.10 Enums............................................................................................................................................. 29

1.11 Delegates........................................................................................................................................ 30

1.12 Attributes........................................................................................................................................ 31

2. Lexical structure................................................................................................................................. 33

2.1 Programs.......................................................................................................................................... 33

2.2 Grammars......................................................................................................................................... 33

2.2.1 Grammar notation........................................................................................................................ 33

2.2.2 Lexical grammar......................................................................................................................... 34

2.2.3 Syntactic grammar...................................................................................................................... 34

2.3 Lexical analysis................................................................................................................................. 34

2.3.1 Line terminators.......................................................................................................................... 35

2.3.2 Comments.................................................................................................................................. 35

2.3.3 White space................................................................................................................................ 37

2.4 Tokens.............................................................................................................................................. 37

2.4.1 Unicode character escape sequences........................................................................................... 37

2.4.2 Identifiers................................................................................................................................... 38

2.4.3 Keywords................................................................................................................................... 39

2.4.4 Literals....................................................................................................................................... 40

2.4.4.1 Boolean literals...................................................................................................................... 40

2.4.4.2 Integer literals....................................................................................................................... 40

2.4.4.3 Real literals........................................................................................................................... 41

2.4.4.4 Character literals................................................................................................................... 42

2.4.4.5 String literals......................................................................................................................... 43

2.4.4.6 The null literal....................................................................................................................... 45

2.4.5 Operators and punctuators........................................................................................................... 45

2.5 Pre-processing directives................................................................................................................... 45

2.5.1 Conditional compilation symbols.................................................................................................... 47

2.5.2 Pre-processing expressions.......................................................................................................... 47

2.5.3 Declaration directives.................................................................................................................. 48

2.5.4 Conditional compilation directives................................................................................................. 49

2.5.5 Diagnostic directives.................................................................................................................... 51

2.5.6 Region directives......................................................................................................................... 52

2.5.7 Line directives............................................................................................................................. 52

2.5.8 Pragma directives........................................................................................................................ 53

2.5.8.1 Pragma warning.................................................................................................................... 53

3. Basic concepts.................................................................................................................................... 55

3.1 Application Startup............................................................................................................................ 55

3.2 Application termination....................................................................................................................... 56

3.3 Declarations...................................................................................................................................... 56

3.4 Members.......................................................................................................................................... 58

3.4.1 Namespace members.................................................................................................................. 58

3.4.2 Struct members........................................................................................................................... 59

3.4.3 Enumeration members................................................................................................................. 59

3.4.4 Class members............................................................................................................................ 59

3.4.5 Interface members...................................................................................................................... 60

3.4.6 Array members........................................................................................................................... 60

3.4.7 Delegate members...................................................................................................................... 60

3.5 Member access................................................................................................................................. 60

3.5.1 Declared accessibility.................................................................................................................. 60

3.5.2 Accessibility domains................................................................................................................... 61

3.5.3 Protected access for instance members........................................................................................ 63

3.5.4 Accessibility constraints............................................................................................................... 64

3.6 Signatures and overloading................................................................................................................. 65

3.7 Scopes.............................................................................................................................................. 66

3.7.1 Name hiding................................................................................................................................ 69

3.7.1.1 Hiding through nesting........................................................................................................... 69

3.7.1.2 Hiding through inheritance...................................................................................................... 70

3.8 Namespace and type names............................................................................................................... 71

3.8.1 Fully qualified names................................................................................................................... 73

3.9 Automatic memory management........................................................................................................ 73

3.10 Execution order............................................................................................................................... 76

4. Types................................................................................................................................................... 77

4.1 Value types....................................................................................................................................... 77

4.1.1 The System.ValueType type........................................................................................................ 78

4.1.2 Default constructors.................................................................................................................... 78

4.1.3 Struct types................................................................................................................................. 79

4.1.4 Simple types................................................................................................................................ 79

4.1.5 Integral types.............................................................................................................................. 80

4.1.6 Floating point types...................................................................................................................... 81

4.1.7 The decimal type......................................................................................................................... 82

4.1.8 The bool type.............................................................................................................................. 83

4.1.9 Enumeration types....................................................................................................................... 83

4.1.10 Nullable types............................................................................................................................ 83

4.2 Reference types................................................................................................................................ 83

4.2.1 Class types................................................................................................................................. 84

4.2.2 The object type........................................................................................................................... 85

4.2.3 The dynamic type........................................................................................................................ 85

4.2.4 The string type............................................................................................................................ 85

4.2.5 Interface types............................................................................................................................ 85

4.2.6 Array types................................................................................................................................. 85

4.2.7 Delegate types............................................................................................................................ 85

4.3 Boxing and unboxing.......................................................................................................................... 86

4.3.1 Boxing conversions...................................................................................................................... 86

4.3.2 Unboxing conversions.................................................................................................................. 87

4.4 Constructed types.............................................................................................................................. 88

4.4.1 Type arguments.......................................................................................................................... 89

4.4.2 Open and closed types................................................................................................................. 89

4.4.3 Bound and unbound types............................................................................................................ 89

4.4.4 Satisfying constraints................................................................................................................... 89

4.5 Type parameters............................................................................................................................... 90

4.6 Expression tree types......................................................................................................................... 91

4.7 The dynamic type.............................................................................................................................. 92

5. Variables............................................................................................................................................. 93

5.1 Variable categories............................................................................................................................ 93

5.1.1 Static variables............................................................................................................................ 93

5.1.2 Instance variables........................................................................................................................ 93

5.1.2.1 Instance variables in classes................................................................................................... 93

5.1.2.2 Instance variables in structs................................................................................................... 94

5.1.3 Array elements........................................................................................................................... 94

5.1.4 Value parameters........................................................................................................................ 94

5.1.5 Reference parameters................................................................................................................. 94

5.1.6 Output parameters....................................................................................................................... 94

5.1.7 Local variables............................................................................................................................ 95

5.2 Default values................................................................................................................................... 96

5.3 Definite assignment........................................................................................................................... 96

5.3.1 Initially assigned variables............................................................................................................ 97

5.3.2 Initially unassigned variables......................................................................................................... 97

5.3.3 Precise rules for determining definite assignment........................................................................... 97

5.3.3.1 General rules for statements................................................................................................... 98

5.3.3.2 Block statements, checked, and unchecked statements............................................................ 98

5.3.3.3 Expression statements........................................................................................................... 98

5.3.3.4 Declaration statements.......................................................................................................... 98

5.3.3.5 If statements......................................................................................................................... 98

5.3.3.6 Switch statements................................................................................................................. 99

5.3.3.7 While statements................................................................................................................... 99

5.3.3.8 Do statements....................................................................................................................... 99

5.3.3.9 For statements..................................................................................................................... 100

5.3.3.10 Break, continue, and goto statements................................................................................... 100

5.3.3.11 Throw statements.............................................................................................................. 100

5.3.3.12 Return statements.............................................................................................................. 100

5.3.3.13 Try-catch statements......................................................................................................... 100

5.3.3.14 Try-finally statements......................................................................................................... 101

5.3.3.15 Try-catch-finally statements............................................................................................... 101

5.3.3.16 Foreach statements............................................................................................................ 102

5.3.3.17 Using statements............................................................................................................... 102

5.3.3.18 Lock statements................................................................................................................ 102

5.3.3.19 Yield statements................................................................................................................ 103

5.3.3.20 General rules for simple expressions.................................................................................... 103

5.3.3.21 General rules for expressions with embedded expressions..................................................... 103

5.3.3.22 Invocation expressions and object creation expressions......................................................... 103

5.3.3.23 Simple assignment expressions............................................................................................ 104

5.3.3.24 && expressions................................................................................................................. 104

5.3.3.25 || expressions..................................................................................................................... 105

5.3.3.26! expressions..................................................................................................................... 106

5.3.3.27?? expressions................................................................................................................... 106

5.3.3.28?: expressions.................................................................................................................... 106

5.3.3.29 Anonymous functions......................................................................................................... 107

5.4 Variable references......................................................................................................................... 107

5.5 Atomicity of variable references....................................................................................................... 107

6. Conversions...................................................................................................................................... 109

6.1 Implicit conversions.......................................................................................................................... 109

6.1.1 Identity conversion..................................................................................................................... 109

6.1.2 Implicit numeric conversions....................................................................................................... 110

6.1.3 Implicit enumeration conversions................................................................................................ 110

6.1.4 Implicit nullable conversions....................................................................................................... 110

6.1.5 Null literal conversions............................................................................................................... 111

6.1.6 Implicit reference conversions.................................................................................................... 111

6.1.7 Boxing conversions.................................................................................................................... 111

6.1.8 Implicit dynamic conversions...................................................................................................... 112

6.1.9 Implicit constant expression conversions...................................................................................... 112

6.1.10 Implicit conversions involving type parameters........................................................................... 112

6.1.11 User-defined implicit conversions.............................................................................................. 113

6.1.12 Anonymous function conversions and method group conversions................................................. 113

6.2 Explicit conversions.......................................................................................................................... 113

6.2.1 Explicit numeric conversions....................................................................................................... 114

6.2.2 Explicit enumeration conversions................................................................................................ 115

6.2.3 Explicit nullable conversions....................................................................................................... 115

6.2.4 Explicit reference conversions.................................................................................................... 116

6.2.5 Unboxing conversions................................................................................................................ 117

6.2.6 Explicit dynamic conversions...................................................................................................... 117

6.2.7 Explicit conversions involving type parameters............................................................................. 118

6.2.8 User-defined explicit conversions................................................................................................ 119

6.3 Standard conversions....................................................................................................................... 119

6.3.1 Standard implicit conversions...................................................................................................... 119







Дата добавления: 2015-09-07; просмотров: 434. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Краткая психологическая характеристика возрастных периодов.Первый критический период развития ребенка — период новорожденности Психоаналитики говорят, что это первая травма, которую переживает ребенок, и она настолько сильна, что вся последую­щая жизнь проходит под знаком этой травмы...

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

Studopedia.info - Студопедия - 2014-2026 год . (0.01 сек.) русская версия | украинская версия