C# LANGUAGE SPECIFICATION
A.1.9 Operators and punctuators ........................................................................................................... 448
A.1.10 Pre-processing directives ........................................................................................................... 448
A.2 Syntactic grammar .............................................................................................................................. 450
A.2.1 Basic concepts ............................................................................................................................. 450
A.2.2 Types ........................................................................................................................................... 451
A.2.3 Variables ..................................................................................................................................... 452
A.2.4 Expressions ................................................................................................................................. 452
A.2.5 Statements ................................................................................................................................... 456
A.2.6 Classes ......................................................................................................................................... 460
A.2.7 Structs .......................................................................................................................................... 465
A.2.8 Arrays .......................................................................................................................................... 466
A.2.9 Interfaces ..................................................................................................................................... 467
A.2.10 Enums ........................................................................................................................................ 468
A.2.11 Delegates ................................................................................................................................... 468
A.2.12 Attributes ................................................................................................................................... 468
A.2.13 Generics ..................................................................................................................................... 470
A.3 Grammar extensions for unsafe code ................................................................................................. 470
Annex B. Portability issues ......................................................................................................................... 473
B.1 Undefined behavior ............................................................................................................................ 473
B.2 Implementation-defined behavior ....................................................................................................... 473
B.3 Unspecified behavior .......................................................................................................................... 474
B.4 Other Issues ........................................................................................................................................ 474
Annex C. Naming guidelines ...................................................................................................................... 475
Annex D. Standard Library ....................................................................................................................... 477
Annex E. Documentation Comments ........................................................................................................ 487
E.1 Introduction ......................................................................................................................................... 487
E.2 Recommended tags ............................................................................................................................. 488
E.2.1 <c> ............................................................................................................................................... 489
E.2.2 <code> ......................................................................................................................................... 489
E.2.3 <example> ................................................................................................................................... 490
E.2.4 <exception> ................................................................................................................................. 490
E.2.5 <list> ............................................................................................................................................ 490
E.2.6 <para> .......................................................................................................................................... 491
E.2.7 <param> ....................................................................................................................................... 492
E.2.8 <paramref> .................................................................................................................................. 492
E.2.9 <permission> ............................................................................................................................... 493
E.2.10 <remarks> .................................................................................................................................. 493
E.2.11 <returns> .................................................................................................................................... 493
E.2.12 <see> .......................................................................................................................................... 494
E.2.13 <seealso> ................................................................................................................................... 494
E.2.14 <summary> ................................................................................................................................ 495
E.2.15 <typeparam> .............................................................................................................................. 495
E.2.16 <typeparamref> ......................................................................................................................... 495
E.2.17 <value> ...................................................................................................................................... 496
E.3 Processing the documentation file ...................................................................................................... 496
E.3.1 ID string format ........................................................................................................................... 496
E.3.2 ID string examples ....................................................................................................................... 497
E.4 An example ......................................................................................................................................... 501
E.4.1 C# source code ............................................................................................................................. 501
E.4.2 Resulting XML ............................................................................................................................ 503
Annex F. Bibliography ................................................................................................................................ 507
xiv