مشخصات زبان C#
C# Language Specification
معرفی کتاب «مشخصات زبان C#» (با عنوان لاتین C# Language Specification) نوشتهٔ Hewlett-Packard, Intel, and Microsoft، منتشرشده توسط نشر 2004 در سال 2004. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
Foreword......Page 17 Introduction......Page 19 Scope......Page 21 Conformance......Page 23 Normative references......Page 25 Definitions......Page 27 Notational conventions......Page 29 Acronyms and abbreviations......Page 31 General description......Page 33 Getting started......Page 35 Types......Page 36 Predefined types......Page 37 Conversions......Page 39 Array types......Page 40 Variables and parameters......Page 42 Automatic memory management......Page 45 Expressions......Page 47 Statements......Page 48 Classes......Page 51 Fields......Page 53 Methods......Page 54 Properties......Page 55 Events......Page 56 Operators......Page 57 Indexers......Page 58 Instance constructors......Page 59 Static constructors......Page 60 Inheritance......Page 61 Partial type declarations......Page 62 Structs......Page 63 Interfaces......Page 64 Delegates......Page 65 Namespaces and assemblies......Page 66 Versioning......Page 68 Extern Aliases......Page 69 Attributes......Page 71 Why generics?......Page 72 Creating and consuming generics......Page 73 Constraints......Page 74 Anonymous methods......Page 76 Iterators......Page 79 Syntactic grammar......Page 83 Lexical analysis......Page 84 Comments......Page 85 White space......Page 86 Unicode escape sequences......Page 87 Identifiers......Page 88 Keywords......Page 89 Integer literals......Page 90 Real literals......Page 91 Character literals......Page 92 String literals......Page 93 The null literal......Page 94 Pre-processing directives......Page 95 Pre-processing expressions......Page 96 Declaration directives......Page 97 Conditional compilation directives......Page 98 Diagnostic directives......Page 100 Line directives......Page 101 Pragma directives......Page 102 Application startup......Page 103 Declarations......Page 104 Class members......Page 107 Declared accessibility......Page 108 Accessibility domains......Page 109 Protected access for instance members......Page 111 Accessibility constraints......Page 112 Signatures and overloading......Page 113 Scopes......Page 114 Hiding through nesting......Page 116 Hiding through inheritance......Page 117 Namespace and type names......Page 118 Fully qualified names......Page 120 Automatic memory management......Page 121 Execution order......Page 123 Value types......Page 125 Default constructors......Page 126 Simple types......Page 127 Integral types......Page 128 The decimal type......Page 129 Reference types......Page 130 Array types......Page 131 Boxing conversions......Page 132 Unboxing conversions......Page 133 Instance variables in classes......Page 135 Output parameters......Page 136 Default values......Page 137 Definite assignment......Page 138 Precise rules for determining definite assignment......Page 139 If statements......Page 140 For statements......Page 141 Try-finally statements......Page 142 Try-catch-finally statements......Page 143 General rules for expressions with embedded expressions......Page 144 Simple assignment expressions......Page 145 || expressions......Page 146 ! expressions......Page 147 Anonymous method expressions......Page 148 Atomicity of variable references......Page 149 Implicit numeric conversions......Page 151 Implicit reference conversions......Page 152 Implicit constant expression conversions......Page 153 Explicit numeric conversions......Page 154 Explicit enumeration conversions......Page 155 Explicit reference conversions......Page 156 User-defined explicit conversions......Page 157 Evaluation of user-defined conversions......Page 158 User-defined implicit conversions......Page 159 User-defined explicit conversions......Page 160 Anonymous method conversions......Page 161 Method group conversions......Page 162 Expression classifications......Page 165 Operator precedence and associativity......Page 166 Operator overloading......Page 167 Unary operator overload resolution......Page 168 Numeric promotions......Page 169 Binary numeric promotions......Page 170 Member lookup......Page 171 Function members......Page 172 Argument lists......Page 174 Applicable function member......Page 177 Function member invocation......Page 178 Primary expressions......Page 180 Simple names......Page 181 Invariant meaning in blocks......Page 182 Member access......Page 183 Method invocations......Page 185 Array access......Page 187 This access......Page 188 Base access......Page 189 Postfix increment and decrement operators......Page 190 Object creation expressions......Page 191 Array creation expressions......Page 192 Delegate creation expressions......Page 194 The typeof operator......Page 196 The checked and unchecked operators......Page 198 Anonymous methods......Page 200 Outer variables......Page 201 Instantiation of local variables......Page 202 Anonymous method evaluation......Page 204 Implementation example......Page 205 Unary minus operator......Page 207 Bitwise complement operator......Page 208 Cast expressions......Page 209 Multiplication operator......Page 210 Division operator......Page 211 Remainder operator......Page 212 Addition operator......Page 213 Subtraction operator......Page 215 Shift operators......Page 217 Relational and type-testing operators......Page 218 Floating-point comparison operators......Page 219 Boolean equality operators......Page 220 Reference type equality operators......Page 221 Delegate equality operators......Page 223 The as operator......Page 224 Logical operators......Page 225 Conditional logical operators......Page 226 User-defined conditional logical operators......Page 227 Conditional operator......Page 228 Simple assignment......Page 229 Event assignment......Page 231 Constant expressions......Page 232 Boolean expressions......Page 233 End points and reachability......Page 235 The empty statement......Page 237 Declaration statements......Page 238 Local constant declarations......Page 239 The if statement......Page 240 The switch statement......Page 241 The while statement......Page 244 The for statement......Page 245 The foreach statement......Page 246 Jump statements......Page 249 The break statement......Page 250 The goto statement......Page 251 The return statement......Page 252 The throw statement......Page 253 The try statement......Page 254 The checked and unchecked statements......Page 256 The using statement......Page 257 The yield statement......Page 259 Namespace declarations......Page 263 Extern alias directives......Page 264 Using alias directives......Page 265 Using namespace directives......Page 269 Qualified alias member......Page 271 Class modifiers......Page 275 Static classes......Page 276 Class base specification......Page 277 Base classes......Page 278 Interface implementations......Page 279 Partial declarations......Page 280 Class members......Page 281 Inheritance......Page 283 Static and instance members......Page 284 Fully qualified name......Page 285 Hiding......Page 286 Access to private and protected members of the containing ty......Page 287 Member names reserved for properties......Page 288 Constants......Page 289 Fields......Page 291 Readonly fields......Page 292 Versioning of constants and static readonly fields......Page 293 Volatile fields......Page 294 Variable initializers......Page 295 Static field initialization......Page 296 Methods......Page 297 Method parameters......Page 299 Reference parameters......Page 300 Output parameters......Page 301 Parameter arrays......Page 302 Virtual methods......Page 304 Override methods......Page 306 Sealed methods......Page 307 Abstract methods......Page 308 External methods......Page 309 Properties......Page 310 Static and instance properties......Page 311 Accessors......Page 312 Virtual, sealed, override, and abstract accessors......Page 317 Events......Page 319 Field-like events......Page 321 Event accessors......Page 322 Virtual, sealed, override, and abstract accessors......Page 323 Indexers......Page 324 Operators......Page 327 Binary operators......Page 329 Conversion operators......Page 330 Instance constructors......Page 331 Constructor initializers......Page 332 Constructor execution......Page 333 Default constructors......Page 334 Optional instance constructor parameters......Page 335 Static constructors......Page 336 Destructors......Page 338 Struct modifiers......Page 341 Value semantics......Page 342 Default values......Page 343 Field initializers......Page 344 Static constructors......Page 345 Database integer type......Page 346 Database boolean type......Page 347 Array types......Page 349 Array covariance......Page 350 Arrays and the generic IList interface......Page 351 Array initializers......Page 352 Interface modifiers......Page 355 Interface body......Page 356 Interface members......Page 357 Interface indexers......Page 358 Interface member access......Page 359 Fully qualified interface member names......Page 360 Explicit interface member implementations......Page 361 Interface mapping......Page 363 Interface implementation inheritance......Page 366 Interface re-implementation......Page 368 Abstract classes and interfaces......Page 369 Enum modifiers......Page 371 Enum members......Page 372 Enum values and operations......Page 374 Delegate declarations......Page 375 Delegate invocation......Page 377 How exceptions are handled......Page 381 Common Exception Classes......Page 382 Attribute usage......Page 385 Positional and named parameters......Page 386 Attribute specification......Page 387 Compilation of an attribute......Page 392 Conditional Methods......Page 393 The Obsolete attribute......Page 396 Unsafe contexts......Page 399 Pointer types......Page 401 Pointer conversions......Page 404 Pointers in expressions......Page 405 Pointer member access......Page 406 Pointer element access......Page 407 The address-of operator......Page 408 Pointer arithmetic......Page 409 The sizeof operator......Page 410 The fixed statement......Page 411 Stack allocation......Page 414 Dynamic memory allocation......Page 415 Type parameters......Page 417 The instance type......Page 418 Static fields in generic classes......Page 419 Accessing protected members......Page 420 Overloading in generic classes......Page 421 Operators in generic classes......Page 422 Generic struct declarations......Page 424 Uniqueness of implemented interfaces......Page 425 Generic delegate declarations......Page 426 Constructed types......Page 427 Base classes and interfaces of a constructed type......Page 428 Members of a constructed type......Page 429 Using alias directives......Page 430 Generic method signatures......Page 431 Virtual generic methods......Page 432 Inference of type arguments......Page 433 Constraints......Page 435 Satisfying constraints......Page 439 Member lookup on type parameters......Page 440 Type parameters and boxing......Page 441 Conversions involving type parameters......Page 442 Iterator blocks......Page 443 Enumerator objects......Page 444 The MoveNext method......Page 445 Enumerable objects......Page 446 Implementation example......Page 447 White space......Page 453 Unicode character escape sequences......Page 454 Identifiers......Page 455 Literals......Page 456 Pre-processing directives......Page 458 Types......Page 460 Variables......Page 461 Expressions......Page 462 Statements......Page 465 Classes......Page 469 Structs......Page 474 Arrays......Page 475 Enums......Page 476 Attributes......Page 477 Generics......Page 478 Grammar extensions for unsafe code......Page 479 Implementation-defined behavior......Page 481 Other Issues......Page 482 Capitalization summary......Page 483 Classes......Page 484 Enums......Page 485 Properties......Page 486 Case sensitivity......Page 487 Avoiding type name confusion......Page 488 Standard Library......Page 489 Introduction......Page 531 Recommended tags......Page 532 ......Page 533 ......Page 534 ......Page 535 ......Page 536 ......Page 537 ......Page 538 ID string format......Page 539 ID string examples......Page 540 C# source code......Page 543 Resulting XML......Page 545 Bibliography......Page 548
دانلود کتاب مشخصات زبان C#