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

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

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; просмотров: 407. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

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

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

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

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

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

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