极超记忆-c#3语法关系 BNF specification
── c#3



元素节点列表 ( 引用关系 )
[001]accessor-body - D
[002]accessor-declarations - D
[003]accessor-modifier - D
[004]add-accessor-declaration - D
[005]additive-expression - D
[006]and-expression - D
[007]anonymous-function-body - D
[008]anonymous-function-parameter-modifier - D
[009]anonymous-function-signature - D
[010]anonymous-method-expression - D
[011]anonymous-object-creation-expression - D
[012]anonymous-object-initializer - D
[013]argument - D
[014]argument-list - D
[015]array-creation-expression - D
[016]array-initializer - D
[017]array-type - D
[018]assignment - D
[019]assignment-operator - D
[020]asterisks - D
[021]attribute - D
[022]attribute-argument-expression - D
[023]attribute-arguments - D
[024]attribute-list - D
[025]attribute-name - D
[026]attributes - D
[027]attribute-section - D
[028]attribute-sections - D
[029]attribute-target - D
[030]attribute-target-specifier - D
[031]available-identifier - D
[032]base-access - D
[033]binary-operator-declarator - D
[034]block - D
[035]boolean-expression - D
[036]boolean-literal - D
[037]break-statement - D
[038]cast-expression - D
[039]catch-clauses - D
[040]character - D
[041]character-literal - D
[042]checked-expression - D
[043]checked-statement - D
[044]class-base - D
[045]class-body - D
[046]class-declaration - D
[047]class-member-declaration - D
[048]class-member-declarations - D
[049]class-modifier - D
[050]class-modifiers - D
[051]class-type - D
[052]collection-initializer - D
[053]combining-character - D
[054]commas - D
[055]comment - D
[056]compilation-unit - D
[057]conditional-and-expression - D
[058]conditional-expression - D
[059]conditional-or-expression - D
[060]conditional-section - D
[061]conditional-symbol - D
[062]connecting-character - D
[063]constant-declaration - D
[064]constant-declarator - D
[065]constant-declarators - D
[066]constant-expression - D
[067]constant-modifier - D
[068]constant-modifiers - D
[069]constructor-body - D
[070]constructor-constraint - D
[071]constructor-declaration - D
[072]constructor-declarator - D
[073]constructor-initializer - D
[074]constructor-modifier - D
[075]constructor-modifiers - D
[076]continue-statement - D
[077]conversion-operator-declarator - D
[078]decimal-digit - D
[079]decimal-digit-character - D
[080]decimal-digits - D
[081]decimal-integer-literal - D
[082]declaration-statement - D
[083]default-value-expression - D
[084]delegate-creation-expression - D
[085]delegate-declaration - D
[086]delegate-modifier - D
[087]delegate-modifiers - D
[088]delegate-type - D
[089]delimited-comment - D
[090]delimited-comment-section - D
[091]delimited-comment-text - D
[092]destructor-body - D
[093]destructor-declaration - D
[094]dim-separators - D
[095]do-statement - D
[096]element-access - D
[097]element-initializer - D
[098]element-initializer-list - D
[099]embedded-statement - D
[100]empty-statement - D
[101]enum-base - D
[102]enum-body - D
[103]enum-declaration - D
[104]enum-member-declaration - D
[105]enum-member-declarations - D
[106]enum-modifier - D
[107]enum-modifiers - D
[108]enum-type - D
[109]equality-expression - D
[110]event-accessor-declarations - D
[111]event-declaration - D
[112]event-modifier - D
[113]event-modifiers - D
[114]exclusive-or-expression - D
[115]explicit-anonymous-function-parameter - D
[116]explicit-anonymous-function-parameter-list - D
[117]explicit-anonymous-function-signature - D
[118]exponent-part - D
[119]expression - D
[120]expression-list - D
[121]expression-statement - D
[122]extern-alias-directive - D
[123]extern-alias-directives - D
[124]field-declaration - D
[125]field-modifier - D
[126]field-modifiers - D
[127]file-name - D
[128]file-name-character - D
[129]file-name-characters - D
[130]finally-clause - D
[131]fixed-parameter - D
[132]fixed-parameters - D
[133]floating-point-type - D
[134]for-condition - D
[135]foreach-statement - D
[136]for-initializer - D
[137]for-iterator - D
[138]formal-parameter-list - D
[139]formatting-character - D
[140]for-statement - D
[141]from-clause - D
[142]general-catch-clause - D
[143]generic-dimension-specifier - D
[144]get-accessor-declaration - D
[145]global-attributes - D
[146]global-attribute-section - D
[147]global-attribute-sections - D
[148]global-attribute-target - D
[149]global-attribute-target-specifier - D
[150]goto-statement - D
[151]group-clause - D
[152]hexadecimal-escape-sequence - D
[153]hexadecimal-integer-literal - D
[154]hex-digit - D
[155]hex-digits - D
[156]identifier - D
[157]identifier-or-keyword - D
[158]identifier-part-character - D
[159]identifier-part-characters - D
[160]identifier-start-character - D
[161]if-statement - D
[162]implicit-anonymous-function-parameter - D
[163]implicit-anonymous-function-parameter-list - D
[164]implicit-anonymous-function-signature - D
[165]inclusive-or-expression - D
[166]indexer-declaration - D
[167]indexer-declarator - D
[168]indexer-modifier - D
[169]indexer-modifiers - D
[170]initializer-value - D
[171]input - D
[172]input-character - D
[173]input-characters - D
[174]input-element - D
[175]input-elements - D
[176]input-section - D
[177]input-section-part - D
[178]integer-literal - D
[179]integer-type-suffix - D
[180]integral-type - D
[181]interface-accessors - D
[182]interface-base - D
[183]interface-body - D
[184]interface-declaration - D
[185]interface-event-declaration - D
[186]interface-indexer-declaration - D
[187]interface-member-declaration - D
[188]interface-member-declarations - D
[189]interface-method-declaration - D
[190]interface-modifier - D
[191]interface-modifiers - D
[192]interface-property-declaration - D
[193]interface-type - D
[194]interface-type-list - D
[195]invocation-expression - D
[196]iteration-statement - D
[197]join-clause - D
[198]join-into-clause - D
[199]jump-statement - D
[200]keyword - D
[201]labeled-statement - D
[202]lambda-expression - D
[203]let-clause - D
[204]letter-character - D
[205]line-indicator - D
[206]literal - D
[207]local-constant-declaration - D
[208]local-variable-declaration - D
[209]local-variable-declarator - D
[210]local-variable-declarators - D
[211]local-variable-initializer - D
[212]local-variable-type - D
[213]lock-statement - D
[214]member-access - D
[215]member-declarator - D
[216]member-declarator-list - D
[217]member-initializer - D
[218]member-initializer-list - D
[219]member-name - D
[220]method-body - D
[221]method-declaration - D
[222]method-header - D
[223]method-modifier - D
[224]method-modifiers - D
[225]multiplicative-expression - D
[226]named-argument - D
[227]named-argument-list - D
[228]namespace-body - D
[229]namespace-declaration - D
[230]namespace-member-declaration - D
[231]namespace-member-declarations - D
[232]namespace-name - D
[233]namespace-or-type-name - D
[234]new-line - D
[235]new-line-character - D
[236]non-array-type - D
[237]non-assignment-expression - D
[238]non-nullable-value-type - D
[239]not-number-sign - D
[240]not-slash-or-asterisk - D
[241]nullable-type - D
[242]null-coalescing-expression - D
[243]null-literal - D
[244]numeric-type - D
[245]object-creation-expression - D
[246]object-initializer - D
[247]object-or-collection-initializer - D
[248]operator-body - D
[249]operator-declaration - D
[250]operator-declarator - D
[251]operator-modifier - D
[252]operator-modifiers - D
[253]operator-or-punctuator - D
[254]orderby-clause - D
[255]ordering - D
[256]ordering-direction - D
[257]orderings - D
[258]overloadable-binary-operator - D
[259]overloadable-unary-operator - D
[260]parameter-array - D
[261]parameter-modifier - D
[262]parenthesized-expression - D
[263]positional-argument - D
[264]positional-argument-list - D
[265]post-decrement-expression - D
[266]post-increment-expression - D
[267]pp-and-expression - D
[268]pp-conditional - D
[269]pp-declaration - D
[270]pp-diagnostic - D
[271]pp-directive - D
[272]pp-elif-section - D
[273]pp-elif-sections - D
[274]pp-else-section - D
[275]pp-endif - D
[276]pp-end-region - D
[277]pp-equality-expression - D
[278]pp-expression - D
[279]pp-if-section - D
[280]pp-line - D
[281]pp-message - D
[282]pp-new-line - D
[283]pp-or-expression - D
[284]pp-pragma - D
[285]pp-primary-expression - D
[286]pp-region - D
[287]pp-start-region - D
[288]pp-unary-expression - D
[289]pragma-body - D
[290]pragma-warning-body - D
[291]pre-decrement-expression - D
[292]predefined-type - D
[293]pre-increment-expression - D
[294]primary-constraint - D
[295]primary-expression - D
[296]primary-no-array-creation-expression - D
[297]property-declaration - D
[298]property-modifier - D
[299]property-modifiers - D
[300]qualified-alias-member - D
[301]qualified-identifier - D
[302]query-body - D
[303]query-body-clause - D
[304]query-body-clauses - D
[305]query-continuation - D
[306]query-expression - D
[307]quote-escape-sequence - D
[308]rank-specifier - D
[309]rank-specifiers - D
[310]real-literal - D
[311]real-type-suffix - D
[312]reference-type - D
[313]regular-string-literal - D
[314]regular-string-literal-character - D
[315]regular-string-literal-characters - D
[316]relational-expression - D
[317]remove-accessor-declaration - D
[318]resource-acquisition - D
[319]return-statement - D
[320]return-type - D
[321]right-shift - D
[322]right-shift-assignment - D
[323]secondary-constraints - D
[324]select-clause - D
[325]selection-statement - D
[326]select-or-group-clause - D
[327]set-accessor-declaration - D
[328]shift-expression - D
[329]sign - D
[330]simple-escape-sequence - D
[331]simple-name - D
[332]simple-type - D
[333]single-character - D
[334]single-line-comment - D
[335]single-regular-string-literal-character - D
[336]single-verbatim-string-literal-character - D
[337]skipped-characters - D
[338]skipped-section - D
[339]skipped-section-part - D
[340]specific-catch-clause - D
[341]specific-catch-clauses - D
[342]statement - D
[343]statement-expression - D
[344]statement-expression-list - D
[345]statement-list - D
[346]static-constructor-body - D
[347]static-constructor-declaration - D
[348]static-constructor-modifiers - D
[349]string-literal - D
[350]struct-body - D
[351]struct-declaration - D
[352]struct-interfaces - D
[353]struct-member-declaration - D
[354]struct-member-declarations - D
[355]struct-modifier - D
[356]struct-modifiers - D
[357]struct-type - D
[358]switch-block - D
[359]switch-label - D
[360]switch-labels - D
[361]switch-section - D
[362]switch-sections - D
[363]switch-statement - D
[364]this-access - D
[365]throw-statement - D
[366]token - D
[367]try-statement - D
[368]type - D
[369]type-argument - D
[370]type-argument-list - D
[371]type-arguments - D
[372]type-declaration - D
[373]type-name - D
[374]typeof-expression - D
[375]type-parameter - D
[376]type-parameter-constraints - D
[377]type-parameter-constraints-clause - D
[378]type-parameter-constraints-clauses - D
[379]type-parameter-list - D
[380]type-parameters - D
[381]unary-expression - D
[382]unary-operator-declarator - D
[383]unbound-type-name - D
[384]unchecked-expression - D
[385]unchecked-statement - D
[386]unicode-escape-sequence - D
[387]using-alias-directive - D
[388]using-directive - D
[389]using-directives - D
[390]using-namespace-directive - D
[391]using-statement - D
[392]value-type - D
[393]variable-declarator - D
[394]variable-declarators - D
[395]variable-initializer - D
[396]variable-initializer-list - D
[397]variable-reference - D
[398]verbatim-string-literal - D
[399]verbatim-string-literal-character - D
[400]verbatim-string-literal-characters - D
[401]warning-action - D
[402]warning-list - D
[403]where-clause - D
[404]while-statement - D
[405]whitespace - D
[406]yield-statement - D

规范定义
[ 001 ] accessor-body 参考1

 block 
;

[ 002 ] accessor-declarations 参考1

 get-accessor-declaration set-accessor-declaration opt
 set-accessor-declaration get-accessor-declaration opt

[ 003 ] accessor-modifier 参考1

protected
internal
private
protected internal
internal protected

[ 004 ] add-accessor-declaration 参考1

 attributes opt add block 


[ 005 ] additive-expression 参考1

 multiplicative-expression 
 additive-expression + multiplicative-expression 
 additive-expression - multiplicative-expression 

[ 006 ] and-expression 参考1

 equality-expression 
 and-expression & equality-expression 

[ 007 ] anonymous-function-body 参考1

 expression 
 block 

[ 008 ] anonymous-function-parameter-modifier 参考1

ref
out

[ 009 ] anonymous-function-signature 参考1

 explicit-anonymous-function-signature 
 implicit-anonymous-function-signature 

[ 010 ] anonymous-method-expression 参考1

delegate explicit-anonymous-function-signature opt block 

[ 011 ] anonymous-object-creation-expression 参考1

new anonymous-object-initializer 

[ 012 ] anonymous-object-initializer 参考1

{ member-declarator-list opt }
{ member-declarator-list  , }

[ 013 ] argument 参考1

 expression 
ref variable-reference 
out variable-reference 

[ 014 ] argument-list 参考1

 argument 
 argument-list , argument 

[ 015 ] array-creation-expression 参考1

new non-array-type [ expression-list ] rank-specifiers opt array-initializer opt
new array-type array-initializer 
new rank-specifier array-initializer 

[ 016 ] array-initializer 参考1

{ variable-initializer-list opt }
{ variable-initializer-list  , }

[ 017 ] array-type 参考1

 non-array-type rank-specifiers 


[ 018 ] assignment 参考1

 unary-expression assignment-operator expression 

[ 019 ] assignment-operator 参考1

=
+=
-=
*=
/=
%=
&=
|=
^=
<<=
 right-shift-assignment 

[ 020 ] asterisks 参考1

*
 asterisks  *

[ 021 ] attribute 参考1

 attribute-name attribute-arguments opt

[ 022 ] attribute-argument-expression 参考1

 expression 

[ 023 ] attribute-arguments 参考1

( positional-argument-list opt )
( positional-argument-list , named-argument-list )
( named-argument-list  )

[ 024 ] attribute-list 参考1

 attribute 
 attribute-list , attribute 

[ 025 ] attribute-name 参考1

 type-name 


[ 026 ] attributes 参考1

 attribute-sections 

[ 027 ] attribute-section 参考1

[ attribute-target-specifier opt attribute-list ]
[ attribute-target-specifier opt attribute-list  , ]

[ 028 ] attribute-sections 参考1

 attribute-section 
 attribute-sections attribute-section 

[ 029 ] attribute-target 参考1

field
event
method
param
property
return
 type 

[ 030 ] attribute-target-specifier 参考1

 attribute-target  :

[ 031 ] available-identifier 参考1


An identifier-or-keyword that is not a keyword 


[ 032 ] base-access 参考1

base . identifier 
base [ expression-list  ]

[ 033 ] binary-operator-declarator 参考1

 type operator overloadable-binary-operator ( type identifier , type identifier  )

[ 034 ] block 参考1

{ statement-list opt }


[ 035 ] boolean-expression 参考1

 expression 

[ 036 ] boolean-literal 参考1

true
false

[ 037 ] break-statement 参考1

break ;

[ 038 ] cast-expression 参考1

( type ) unary-expression 


[ 039 ] catch-clauses 参考1

 specific-catch-clauses general-catch-clause opt
 specific-catch-clauses opt general-catch-clause 

[ 040 ] character 参考1

 single-character 
 simple-escape-sequence 
 hexadecimal-escape-sequence 
 unicode-escape-sequence 

[ 041 ] character-literal 参考1

' character  '

[ 042 ] checked-expression 参考1

checked ( expression  )


[ 043 ] checked-statement 参考1

checked block 

[ 044 ] class-base 参考1

: class-type 
: interface-type-list 
: class-type , interface-type-list 

[ 045 ] class-body 参考1

{ class-member-declarations opt }

[ 046 ] class-declaration 参考1

 attributes opt class-modifiers opt partialopt class identifier type-parameter-list opt class-base opt type-parameter-constraints-clauses opt class-body  ;opt

[ 047 ] class-member-declaration 参考1

 constant-declaration 
 field-declaration 
 method-declaration 
 property-declaration 
 event-declaration 
 indexer-declaration 
 operator-declaration 
 constructor-declaration 
 destructor-declaration 
 static-constructor-declaration 
 type-declaration 

[ 048 ] class-member-declarations 参考1

 class-member-declaration 
 class-member-declarations class-member-declaration 

[ 049 ] class-modifier 参考1

new
public
protected
internal
private
abstract
sealed
static

[ 050 ] class-modifiers 参考1

 class-modifier 
 class-modifiers class-modifier 

[ 051 ] class-type 参考1

 type-name 
object
string

[ 052 ] collection-initializer 参考1

{ element-initializer-list }
{ element-initializer-list  , }

[ 053 ] combining-character 参考1


A Unicode character of classes Mn or Mc
A unicode-escape-sequence representing a character  of classes Mn or Mc


[ 054 ] commas 参考1

,
 commas  ,

[ 055 ] comment 参考1

 single-line-comment 
 delimited-comment 

[ 056 ] compilation-unit 参考1

 extern-alias-directives opt using-directives opt global-attributes opt
 namespace-member-declarations opt

[ 057 ] conditional-and-expression 参考1

 inclusive-or-expression 
 conditional-and-expression && inclusive-or-expression 

[ 058 ] conditional-expression 参考1

 null-coalescing-expression 
 null-coalescing-expression ? expression : expression 

[ 059 ] conditional-or-expression 参考1

 conditional-and-expression 
 conditional-or-expression || conditional-and-expression 

[ 060 ] conditional-section 参考1

 input-section 
 skipped-section 

[ 061 ] conditional-symbol 参考1


Any identifier-or-keyword  except true or false




[ 062 ] connecting-character 参考1


A Unicode character of the class Pc
A unicode-escape-sequence representing a character  of the class Pc


[ 063 ] constant-declaration 参考1

 attributes opt constant-modifiers opt const type constant-declarators  ;

[ 064 ] constant-declarator 参考1

 identifier = constant-expression 
 identifier = constant-expression 

[ 065 ] constant-declarators 参考1

 constant-declarator 
 constant-declarators , constant-declarator 
 constant-declarator 
 constant-declarators , constant-declarator 

[ 066 ] constant-expression 参考1

 expression 

[ 067 ] constant-modifier 参考1

new
public
protected
internal
private

[ 068 ] constant-modifiers 参考1

 constant-modifier 
 constant-modifiers constant-modifier 

[ 069 ] constructor-body 参考1

 block 
;

[ 070 ] constructor-constraint 参考1

new ( )

[ 071 ] constructor-declaration 参考1

 attributes opt constructor-modifiers opt constructor-declarator constructor-body 

[ 072 ] constructor-declarator 参考1

 identifier ( formal-parameter-list opt ) constructor-initializer opt

[ 073 ] constructor-initializer 参考1

: base ( argument-list opt )
: this ( argument-list opt )

[ 074 ] constructor-modifier 参考1

public
protected
internal
private
extern

[ 075 ] constructor-modifiers 参考1

 constructor-modifier 
 constructor-modifiers constructor-modifier 

[ 076 ] continue-statement 参考1

continue ;

[ 077 ] conversion-operator-declarator 参考1

implicit operator type ( type identifier )
explicit operator type ( type identifier  )

[ 078 ] decimal-digit 参考1

one of
0 1 2 3 4 5 6 7 8 9

[ 079 ] decimal-digit-character 参考1


A Unicode character of the class Nd
A unicode-escape-sequence representing a character  of the class Nd


[ 080 ] decimal-digits 参考1

 decimal-digit 
 decimal-digits decimal-digit 

[ 081 ] decimal-integer-literal 参考1

 decimal-digits integer-type-suffix opt


[ 082 ] declaration-statement 参考1

 local-variable-declaration ;
 local-constant-declaration  ;

[ 083 ] default-value-expression 参考1

default ( type  )

[ 084 ] delegate-creation-expression 参考1

new delegate-type ( expression  )

[ 085 ] delegate-declaration 参考1

 attributes opt delegate-modifiers opt delegate return-type identifier type-parameter-list opt ( formal-parameter-list opt ) type-parameter-constraints-clauses opt ;

[ 086 ] delegate-modifier 参考1

new
public
protected
internal
private

[ 087 ] delegate-modifiers 参考1

 delegate-modifier 
 delegate-modifiers delegate-modifier 

[ 088 ] delegate-type 参考1

 type-name 


[ 089 ] delimited-comment 参考1

/* delimited-comment-text opt asterisks  /


[ 090 ] delimited-comment-section 参考1

/
 asterisks opt not-slash-or-asterisk 

[ 091 ] delimited-comment-text 参考1

 delimited-comment-section 
 delimited-comment-text delimited-comment-section 

[ 092 ] destructor-body 参考1

 block 
;

[ 093 ] destructor-declaration 参考1

 attributes opt externopt ~ identifier ( ) destructor-body 

[ 094 ] dim-separators 参考1

,
 dim-separators  ,

[ 095 ] do-statement 参考1

do embedded-statement while ( boolean-expression  ) ;

[ 096 ] element-access 参考1

 primary-no-array-creation-expression [ expression-list  ]


[ 097 ] element-initializer 参考1

 non-assignment-expression 
{ expression-list  }

[ 098 ] element-initializer-list 参考1

 element-initializer 
 element-initializer-list , element-initializer 

[ 099 ] embedded-statement 参考1

 block 
 empty-statement 
 expression-statement 
 selection-statement 
 iteration-statement 
 jump-statement 
 try-statement 
 checked-statement 
 unchecked-statement 
 lock-statement 
 using-statement 
 yield-statement 

[ 100 ] empty-statement 参考1

;

[ 101 ] enum-base 参考1

: integral-type 


[ 102 ] enum-body 参考1

{ enum-member-declarations opt }
{ enum-member-declarations  , }

[ 103 ] enum-declaration 参考1

 attributes opt enum-modifiers opt enum identifier enum-base opt enum-body  ;opt

[ 104 ] enum-member-declaration 参考1

 attributes opt identifier 
 attributes opt identifier = constant-expression 

[ 105 ] enum-member-declarations 参考1

 enum-member-declaration 
 enum-member-declarations , enum-member-declaration 

[ 106 ] enum-modifier 参考1

new
public
protected
internal
private

[ 107 ] enum-modifiers 参考1

 enum-modifier 
 enum-modifiers enum-modifier 

[ 108 ] enum-type 参考1

 type-name 


[ 109 ] equality-expression 参考1

 relational-expression 
 equality-expression == relational-expression 
 equality-expression != relational-expression 

[ 110 ] event-accessor-declarations 参考1

 add-accessor-declaration remove-accessor-declaration 
 remove-accessor-declaration add-accessor-declaration 

[ 111 ] event-declaration 参考1

 attributes opt event-modifiers opt event type variable-declarators ;
 attributes opt event-modifiers opt event type member-name { event-accessor-declarations  }

[ 112 ] event-modifier 参考1

new
public
protected
internal
private
static
virtual
sealed
override
abstract
extern

[ 113 ] event-modifiers 参考1

 event-modifier 
 event-modifiers event-modifier 

[ 114 ] exclusive-or-expression 参考1

 and-expression 
 exclusive-or-expression ^ and-expression 

[ 115 ] explicit-anonymous-function-parameter 参考1

 anonymous-function-parameter-modifier opt type identifier 

[ 116 ] explicit-anonymous-function-parameter-list 参考1

 explicit-anonymous-function-parameter 
 explicit-anonymous-function-parameter-list , explicit-anonymous-function-parameter 

[ 117 ] explicit-anonymous-function-signature 参考1

( explicit-anonymous-function-parameter-list opt )

[ 118 ] exponent-part 参考1

e sign opt decimal-digits 
E sign opt decimal-digits 

[ 119 ] expression 参考1

 non-assignment-expression 
 assignment 

[ 120 ] expression-list 参考1

 expression 
 expression-list , expression 

[ 121 ] expression-statement 参考1

 statement-expression  ;

[ 122 ] extern-alias-directive 参考1

extern alias identifier  ;

[ 123 ] extern-alias-directives 参考1

 extern-alias-directive 
 extern-alias-directives extern-alias-directive 

[ 124 ] field-declaration 参考1

 attributes opt field-modifiers opt type variable-declarators  ;

[ 125 ] field-modifier 参考1

new
public
protected
internal
private
static
readonly
volatile

[ 126 ] field-modifiers 参考1

 field-modifier 
 field-modifiers field-modifier 

[ 127 ] file-name 参考1

" file-name-characters  "


[ 128 ] file-name-character 参考1


Any input-character  except "



[ 129 ] file-name-characters 参考1

 file-name-character 
 file-name-characters file-name-character 

[ 130 ] finally-clause 参考1

finally block 

[ 131 ] fixed-parameter 参考1

 attributes opt parameter-modifier opt type identifier 

[ 132 ] fixed-parameters 参考1

 fixed-parameter 
 fixed-parameters , fixed-parameter 

[ 133 ] floating-point-type 参考1

float
double

[ 134 ] for-condition 参考1

 boolean-expression 

[ 135 ] foreach-statement 参考1

foreach ( local-variable-type identifier in expression ) embedded-statement 

[ 136 ] for-initializer 参考1

 local-variable-declaration 
 statement-expression-list 

[ 137 ] for-iterator 参考1

 statement-expression-list 

[ 138 ] formal-parameter-list 参考1

 fixed-parameters 
 fixed-parameters , parameter-array 
 parameter-array 

[ 139 ] formatting-character 参考1


A Unicode character of the class Cf
A unicode-escape-sequence representing a character  of the class Cf


[ 140 ] for-statement 参考1

for ( for-initializer opt ; for-condition opt ; for-iterator opt ) embedded-statement 

[ 141 ] from-clause 参考1

from type opt identifier in expression 

[ 142 ] general-catch-clause 参考1

catch block 

[ 143 ] generic-dimension-specifier 参考1

< commas opt >

[ 144 ] get-accessor-declaration 参考1

 attributes opt accessor-modifier opt get accessor-body 

[ 145 ] global-attributes 参考1

 global-attribute-sections 

[ 146 ] global-attribute-section 参考1

[ global-attribute-target-specifier attribute-list ]
[ global-attribute-target-specifier attribute-list  , ]

[ 147 ] global-attribute-sections 参考1

 global-attribute-section 
 global-attribute-sections global-attribute-section 

[ 148 ] global-attribute-target 参考1

assembly
module

[ 149 ] global-attribute-target-specifier 参考1

 global-attribute-target  :

[ 150 ] goto-statement 参考1

goto identifier ;
goto case constant-expression  ;
goto default ;

[ 151 ] group-clause 参考1

group expression by expression 

[ 152 ] hexadecimal-escape-sequence 参考1

\x hex-digit hex-digit opt hex-digit opt hex-digit opt

[ 153 ] hexadecimal-integer-literal 参考1

0x hex-digits integer-type-suffix opt
0X hex-digits integer-type-suffix opt

[ 154 ] hex-digit 参考1

one of
0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f

[ 155 ] hex-digits 参考1

 hex-digit 
 hex-digits hex-digit 

[ 156 ] identifier 参考1

 available-identifier 
@ identifier-or-keyword 

[ 157 ] identifier-or-keyword 参考1

 identifier-start-character identifier-part-characters opt

[ 158 ] identifier-part-character 参考1

 letter-character 
 decimal-digit-character 
 connecting-character 
 combining-character 
 formatting-character 

[ 159 ] identifier-part-characters 参考1

 identifier-part-character 
 identifier-part-characters identifier-part-character 

[ 160 ] identifier-start-character 参考1

 letter-character 
_ (the underscore character  U+005F)

[ 161 ] if-statement 参考1

if ( boolean-expression ) embedded-statement 
if ( boolean-expression ) embedded-statement else embedded-statement 

[ 162 ] implicit-anonymous-function-parameter 参考1

 identifier 

[ 163 ] implicit-anonymous-function-parameter-list 参考1

 implicit-anonymous-function-parameter 
 implicit-anonymous-function-parameter-list , implicit-anonymous-function-parameter 

[ 164 ] implicit-anonymous-function-signature 参考1

( implicit-anonymous-function-parameter-list opt )
 implicit-anonymous-function-parameter 

[ 165 ] inclusive-or-expression 参考1

 exclusive-or-expression 
 inclusive-or-expression | exclusive-or-expression 

[ 166 ] indexer-declaration 参考1

 attributes opt indexer-modifiers opt indexer-declarator { accessor-declarations  }

[ 167 ] indexer-declarator 参考1

 type this [ formal-parameter-list ]
 type interface-type . this [ formal-parameter-list  ]

[ 168 ] indexer-modifier 参考1

new
public
protected
internal
private
virtual
sealed
override
abstract
extern

[ 169 ] indexer-modifiers 参考1

 indexer-modifier 
 indexer-modifiers indexer-modifier 

[ 170 ] initializer-value 参考1

 expression 
 object-or-collection-initializer 

[ 171 ] input 参考1

 input-section opt


[ 172 ] input-character 参考1


Any Unicode character except a new-line-character 


[ 173 ] input-characters 参考1

 input-character 
 input-characters input-character 

[ 174 ] input-element 参考1

 whitespace 
 comment 
 token 

[ 175 ] input-elements 参考1

 input-element 
 input-elements input-element 

[ 176 ] input-section 参考1

 input-section-part 
 input-section input-section-part 


[ 177 ] input-section-part 参考1

 input-elements opt new-line 
 pp-directive 


[ 178 ] integer-literal 参考1

 decimal-integer-literal 
 hexadecimal-integer-literal 

[ 179 ] integer-type-suffix 参考1

one of
U u L l UL Ul uL ul LU Lu lU lu

[ 180 ] integral-type 参考1

sbyte
byte
short
ushort
int
uint
long
ulong
char

[ 181 ] interface-accessors 参考1

 attributes opt get ;
 attributes opt set ;
 attributes opt get ; attributes opt set ;
 attributes opt set ; attributes opt get ;

[ 182 ] interface-base 参考1

: interface-type-list 

[ 183 ] interface-body 参考1

{ interface-member-declarations opt }

[ 184 ] interface-declaration 参考1

 attributes opt interface-modifiers opt partialopt interface identifier type-parameter-list opt interface-base opt type-parameter-constraints-clauses opt interface-body  ;opt

[ 185 ] interface-event-declaration 参考1

 attributes opt newopt event type identifier  ;

[ 186 ] interface-indexer-declaration 参考1

 attributes opt newopt type this [ formal-parameter-list ] { interface-accessors  }

[ 187 ] interface-member-declaration 参考1

 interface-method-declaration 
 interface-property-declaration 
 interface-event-declaration 
 interface-indexer-declaration 

[ 188 ] interface-member-declarations 参考1

 interface-member-declaration 
 interface-member-declarations interface-member-declaration 

[ 189 ] interface-method-declaration 参考1

 attributes opt newopt return-type identifier type-parameter-list ( formal-parameter-list opt ) type-parameter-constraints-clauses opt ;

[ 190 ] interface-modifier 参考1

new
public
protected
internal
private

[ 191 ] interface-modifiers 参考1

 interface-modifier 
 interface-modifiers interface-modifier 

[ 192 ] interface-property-declaration 参考1

 attributes opt newopt type identifier { interface-accessors  }

[ 193 ] interface-type 参考1

 type-name 

[ 194 ] interface-type-list 参考1

 interface-type 
 interface-type-list , interface-type 

[ 195 ] invocation-expression 参考1

 primary-expression ( argument-list opt )


[ 196 ] iteration-statement 参考1

 while-statement 
 do-statement 
 for-statement 
 foreach-statement 

[ 197 ] join-clause 参考1

join type opt identifier in expression on expression equals expression 

[ 198 ] join-into-clause 参考1

join type opt identifier in expression on expression equals expression into identifier 

[ 199 ] jump-statement 参考1

 break-statement 
 continue-statement 
 goto-statement 
 return-statement 
 throw-statement 

[ 200 ] keyword 参考1

one of
abstract as base bool break
byte case catch char checked
class const continue decimal default
delegate do double else enum
event explicit extern false finally
fixed float for foreach goto
if implicit in int interface
internal is lock long namespace
new null object operator out
override params private protected public
readonly ref return sbyte sealed
short sizeof stackalloc static string
struct switch this throw true
try type of uint ulong unchecked
unsafe ushort using virtual void
volatile while

[ 201 ] labeled-statement 参考1

 identifier : statement 

[ 202 ] lambda-expression 参考1

 anonymous-function-signature => anonymous-function-body 

[ 203 ] let-clause 参考1

let identifier = expression 

[ 204 ] letter-character 参考1


A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl
A unicode-escape-sequence representing a character  of classes Lu, Ll, Lt, Lm, Lo, or Nl


[ 205 ] line-indicator 参考1

 decimal-digits whitespace file-name 
 decimal-digits 
default
hidden

[ 206 ] literal 参考1

 boolean-literal 
 integer-literal 
 real-literal 
 character-literal 
 string-literal 
 null-literal 

[ 207 ] local-constant-declaration 参考1

const type constant-declarators 

[ 208 ] local-variable-declaration 参考1

 local-variable-type local-variable-declarators 


[ 209 ] local-variable-declarator 参考1

 identifier 
 identifier = local-variable-initializer 


[ 210 ] local-variable-declarators 参考1

 local-variable-declarator 
 local-variable-declarators , local-variable-declarator 

[ 211 ] local-variable-initializer 参考1

 expression 
 array-initializer 

[ 212 ] local-variable-type 参考1

 type 
var

[ 213 ] lock-statement 参考1

lock ( expression ) embedded-statement 

[ 214 ] member-access 参考1

 primary-expression . identifier type-argument-list opt
 predefined-type . identifier type-argument-list opt
 qualified-alias-member . identifier 

[ 215 ] member-declarator 参考1

 simple-name 
 member-access 
 identifier = expression 

[ 216 ] member-declarator-list 参考1

 member-declarator 
 member-declarator-list , member-declarator 

[ 217 ] member-initializer 参考1

 identifier = initializer-value 


[ 218 ] member-initializer-list 参考1

 member-initializer 
 member-initializer-list , member-initializer 

[ 219 ] member-name 参考1

 identifier 
 interface-type . identifier 
 identifier 
 interface-type . identifier 

[ 220 ] method-body 参考1

 block 
;

[ 221 ] method-declaration 参考1

 method-header method-body 

[ 222 ] method-header 参考1

 attributes opt method-modifiers opt partialopt return-type member-name type-parameter-list opt ( formal-parameter-list opt ) type-parameter-constraints-clauses opt

[ 223 ] method-modifier 参考1

new
public
protected
internal
private
static
virtual
sealed
override
abstract
extern

[ 224 ] method-modifiers 参考1

 method-modifier 
 method-modifiers method-modifier 

[ 225 ] multiplicative-expression 参考1

 unary-expression 
 multiplicative-expression * unary-expression 
 multiplicative-expression / unary-expression 
 multiplicative-expression % unary-expression 

[ 226 ] named-argument 参考1

 identifier = attribute-argument-expression 

[ 227 ] named-argument-list 参考1

 named-argument 
 named-argument-list , named-argument 

[ 228 ] namespace-body 参考1

{ extern-alias-directives opt using-directives opt namespace-member-declarations opt }

[ 229 ] namespace-declaration 参考1

namespace qualified-identifier namespace-body  ;opt

[ 230 ] namespace-member-declaration 参考1

 namespace-declaration 
 type-declaration 

[ 231 ] namespace-member-declarations 参考1

 namespace-member-declaration 
 namespace-member-declarations namespace-member-declaration 

[ 232 ] namespace-name 参考1

 namespace-or-type-name 


[ 233 ] namespace-or-type-name 参考1

 identifier type-argument-list opt
 namespace-or-type-name . identifier type-argument-list opt
 qualified-alias-member 

[ 234 ] new-line 参考1


Carriage return character (U+000D)
Line feed character (U+000A)
Carriage return character (U+000D) followed by line feed character (U+000A)
Next line character (U+0085)
Line separator character (U+2028)
Paragraph separator character  (U+2029)


[ 235 ] new-line-character 参考1


Carriage return character (U+000D)
Line feed character (U+000A)
Next line character (U+0085)
Line separator character (U+2028)
Paragraph separator character  (U+2029)


[ 236 ] non-array-type 参考1

 type 

[ 237 ] non-assignment-expression 参考1

 conditional-expression 
 lambda-expression 
 query-expression 

[ 238 ] non-nullable-value-type 参考1

 type 


[ 239 ] not-number-sign 参考1


Any input-character  except #


[ 240 ] not-slash-or-asterisk 参考1


Any Unicode character  except / or *



[ 241 ] nullable-type 参考1

 non-nullable-value-type  ?

[ 242 ] null-coalescing-expression 参考1

 conditional-or-expression 
 conditional-or-expression ?? null-coalescing-expression 

[ 243 ] null-literal 参考1

null

[ 244 ] numeric-type 参考1

 integral-type 
 floating-point-type 
decimal

[ 245 ] object-creation-expression 参考1

new type ( argument-list opt ) object-or-collection-initializer opt
new type object-or-collection-initializer 

[ 246 ] object-initializer 参考1

{ member-initializer-list opt }
{ member-initializer-list  , }

[ 247 ] object-or-collection-initializer 参考1

 object-initializer 
 collection-initializer 

[ 248 ] operator-body 参考1

 block 
;

[ 249 ] operator-declaration 参考1

 attributes opt operator-modifiers operator-declarator operator-body 

[ 250 ] operator-declarator 参考1

 unary-operator-declarator 
 binary-operator-declarator 
 conversion-operator-declarator 

[ 251 ] operator-modifier 参考1

public
static
extern

[ 252 ] operator-modifiers 参考1

 operator-modifier 
 operator-modifiers operator-modifier 

[ 253 ] operator-or-punctuator 参考1

one of
{		}		[		]		(		)		.		,		:		;
+		-		*		/		%		&		|		^		!		~
=		<		>		?		??		::		++		--		&&		||
->		==		!=		<=		>=		+=		-=		*=		/=		%=
&=		|=		^=		<<		<<=	=>


[ 254 ] orderby-clause 参考1

orderby orderings 

[ 255 ] ordering 参考1

 expression ordering-direction opt

[ 256 ] ordering-direction 参考1

ascending
descending

[ 257 ] orderings 参考1

 ordering 
 orderings , ordering 

[ 258 ] overloadable-binary-operator 参考1

+
-
*
/
%
&
|
^
<<
 right-shift 
==
!=
>
<
>=
<=

[ 259 ] overloadable-unary-operator 参考1

one of
+ - ! ~ ++ -- true false


[ 260 ] parameter-array 参考1

 attributes opt params array-type identifier 

[ 261 ] parameter-modifier 参考1

ref
out
this

[ 262 ] parenthesized-expression 参考1

( expression  )

[ 263 ] positional-argument 参考1

 attribute-argument-expression 

[ 264 ] positional-argument-list 参考1

 positional-argument 
 positional-argument-list , positional-argument 

[ 265 ] post-decrement-expression 参考1

 primary-expression  --


[ 266 ] post-increment-expression 参考1

 primary-expression  ++


[ 267 ] pp-and-expression 参考1

 pp-equality-expression 
 pp-and-expression whitespace opt && whitespace opt pp-equality-expression 

[ 268 ] pp-conditional 参考1

 pp-if-section pp-elif-sections opt pp-else-section opt pp-endif 

[ 269 ] pp-declaration 参考1

 whitespace opt # whitespace opt define whitespace conditional-symbol pp-new-line 
 whitespace opt # whitespace opt undef whitespace conditional-symbol pp-new-line 

[ 270 ] pp-diagnostic 参考1

 whitespace opt # whitespace opt error pp-message 
 whitespace opt # whitespace opt warning pp-message 

[ 271 ] pp-directive 参考1

 pp-declaration 
 pp-conditional 
 pp-line 
 pp-diagnostic 
 pp-region 
 pp-pragma 

[ 272 ] pp-elif-section 参考1

 whitespace opt # whitespace opt elif whitespace pp-expression pp-new-line conditional-section opt

[ 273 ] pp-elif-sections 参考1

 pp-elif-section 
 pp-elif-sections pp-elif-section 

[ 274 ] pp-else-section 参考1

 whitespace opt # whitespace opt else pp-new-line conditional-section opt

[ 275 ] pp-endif 参考1

 whitespace opt # whitespace opt endif pp-new-line 


[ 276 ] pp-end-region 参考1

 whitespace opt # whitespace opt endregion pp-message 


[ 277 ] pp-equality-expression 参考1

 pp-unary-expression 
 pp-equality-expression whitespace opt == whitespace opt pp-unary-expression 
 pp-equality-expression whitespace opt != whitespace opt pp-unary-expression 

[ 278 ] pp-expression 参考1

 whitespace opt pp-or-expression whitespace opt


[ 279 ] pp-if-section 参考1

 whitespace opt # whitespace opt if whitespace pp-expression pp-new-line conditional-section opt


[ 280 ] pp-line 参考1

 whitespace opt # whitespace opt line whitespace line-indicator pp-new-line 


[ 281 ] pp-message 参考1

 new-line 
 whitespace input-characters opt new-line 

[ 282 ] pp-new-line 参考1

 whitespace opt single-line-comment opt new-line 

[ 283 ] pp-or-expression 参考1

 pp-and-expression 
 pp-or-expression whitespace opt || whitespace opt pp-and-expression 

[ 284 ] pp-pragma 参考1

 whitespace opt # whitespace opt pragma whitespace pragma-body pp-new-line 


[ 285 ] pp-primary-expression 参考1

true
false
 conditional-symbol 
( whitespace opt pp-expression whitespace opt )

[ 286 ] pp-region 参考1

 pp-start-region conditional-section opt pp-end-region 


[ 287 ] pp-start-region 参考1

 whitespace opt # whitespace opt region pp-message 


[ 288 ] pp-unary-expression 参考1

 pp-primary-expression 
! whitespace opt pp-unary-expression 

[ 289 ] pragma-body 参考1

 pragma-warning-body 


[ 290 ] pragma-warning-body 参考1

warning whitespace warning-action 
warning whitespace warning-action whitespace warning-list 

[ 291 ] pre-decrement-expression 参考1

-- unary-expression 

[ 292 ] predefined-type 参考1

one of
bool byte char decimal double float int long
object sbyte short string uint ulong ushort

[ 293 ] pre-increment-expression 参考1

++ unary-expression 

[ 294 ] primary-constraint 参考1

 class-type 
class
struct

[ 295 ] primary-expression 参考1

 primary-no-array-creation-expression 
 array-creation-expression 

[ 296 ] primary-no-array-creation-expression 参考1

 literal 
 simple-name 
 parenthesized-expression 
 member-access 
 invocation-expression 
 element-access 
 this-access 
 base-access 
 post-increment-expression 
 post-decrement-expression 
 object-creation-expression 
 delegate-creation-expression 
 anonymous-object-creation-expression 
 typeof-expression 
 checked-expression 
 unchecked-expression 
 default-value-expression 
 anonymous-method-expression 


[ 297 ] property-declaration 参考1

 attributes opt property-modifiers opt type member-name { accessor-declarations  }

[ 298 ] property-modifier 参考1

new
public
protected
internal
private
static
virtual
sealed
override
abstract
extern

[ 299 ] property-modifiers 参考1

 property-modifier 
 property-modifiers property-modifier 

[ 300 ] qualified-alias-member 参考1

 identifier :: identifier type-argument-list opt

[ 301 ] qualified-identifier 参考1

 identifier 
 qualified-identifier . identifier 

[ 302 ] query-body 参考1

 query-body-clauses opt select-or-group-clause query-continuation opt

[ 303 ] query-body-clause 参考1

 from-clause 
 let-clause 
 where-clause 
 join-clause 
 join-into-clause 
 orderby-clause 

[ 304 ] query-body-clauses 参考1

 query-body-clause 
 query-body-clauses query-body-clause 

[ 305 ] query-continuation 参考1

into identifier query-body 

[ 306 ] query-expression 参考1

 from-clause query-body 

[ 307 ] quote-escape-sequence 参考1

""


[ 308 ] rank-specifier 参考1

[ dim-separators opt ]


[ 309 ] rank-specifiers 参考1

 rank-specifier 
 rank-specifiers rank-specifier 

[ 310 ] real-literal 参考1

 decimal-digits . decimal-digits exponent-part opt real-type-suffix opt
. decimal-digits exponent-part opt real-type-suffix opt
 decimal-digits exponent-part real-type-suffix opt
 decimal-digits real-type-suffix 

[ 311 ] real-type-suffix 参考1

one of
F f D d M m

[ 312 ] reference-type 参考1

 class-type 
 interface-type 
 array-type 
 delegate-type 

[ 313 ] regular-string-literal 参考1

" regular-string-literal-characters opt "


[ 314 ] regular-string-literal-character 参考1

 single-regular-string-literal-character 
 simple-escape-sequence 
 hexadecimal-escape-sequence 
 unicode-escape-sequence 

[ 315 ] regular-string-literal-characters 参考1

 regular-string-literal-character 
 regular-string-literal-characters regular-string-literal-character 

[ 316 ] relational-expression 参考1

 shift-expression 
 relational-expression < shift-expression 
 relational-expression > shift-expression 
 relational-expression <= shift-expression 
 relational-expression >= shift-expression 
 relational-expression is type 
 relational-expression as type 

[ 317 ] remove-accessor-declaration 参考1

 attributes opt remove block 

[ 318 ] resource-acquisition 参考1

 local-variable-declaration 
 expression 

[ 319 ] return-statement 参考1

return expression opt ;

[ 320 ] return-type 参考1

 type 
void

[ 321 ] right-shift 参考1

>|>

[ 322 ] right-shift-assignment 参考1

>|>=

[ 323 ] secondary-constraints 参考1

 interface-type 
 type-parameter 
 secondary-constraints , interface-type 
 secondary-constraints , type-parameter 

[ 324 ] select-clause 参考1

select expression 

[ 325 ] selection-statement 参考1

 if-statement 
 switch-statement 

[ 326 ] select-or-group-clause 参考1

 select-clause 
 group-clause 

[ 327 ] set-accessor-declaration 参考1

 attributes opt accessor-modifier opt set accessor-body 

[ 328 ] shift-expression 参考1

 additive-expression 
 shift-expression << additive-expression 
 shift-expression right-shift additive-expression 

[ 329 ] sign 参考1

one of
+ -

[ 330 ] simple-escape-sequence 参考1

one of
\' \" \\ \0 \a \b \f \n \r \t \v

[ 331 ] simple-name 参考1

 identifier type-argument-list opt


[ 332 ] simple-type 参考1

 numeric-type 
bool

[ 333 ] single-character 参考1


Any character except ' (U+0027), \ (U+005C), and new-line-character 



[ 334 ] single-line-comment 参考1

// input-characters opt


[ 335 ] single-regular-string-literal-character 参考1


Any character except " (U+0022), \ (U+005C), and new-line-character 


[ 336 ] single-verbatim-string-literal-character 参考1


any character  except "



[ 337 ] skipped-characters 参考1

 whitespace opt not-number-sign input-characters opt

[ 338 ] skipped-section 参考1

 skipped-section-part 
 skipped-section skipped-section-part 

[ 339 ] skipped-section-part 参考1

 skipped-characters opt new-line 
 pp-directive 

[ 340 ] specific-catch-clause 参考1

catch ( class-type identifier opt ) block 

[ 341 ] specific-catch-clauses 参考1

 specific-catch-clause 
 specific-catch-clauses specific-catch-clause 

[ 342 ] statement 参考1

 labeled-statement 
 declaration-statement 
 embedded-statement 

[ 343 ] statement-expression 参考1

 invocation-expression 
 object-creation-expression 
 assignment 
 post-increment-expression 
 post-decrement-expression 
 pre-increment-expression 
 pre-decrement-expression 

[ 344 ] statement-expression-list 参考1

 statement-expression 
 statement-expression-list , statement-expression 

[ 345 ] statement-list 参考1

 statement 
 statement-list statement 

[ 346 ] static-constructor-body 参考1

 block 
;

[ 347 ] static-constructor-declaration 参考1

 attributes opt static-constructor-modifiers identifier ( ) static-constructor-body 

[ 348 ] static-constructor-modifiers 参考1

externopt static
static externopt

[ 349 ] string-literal 参考1

 regular-string-literal 
 verbatim-string-literal 

[ 350 ] struct-body 参考1

{ struct-member-declarations opt }

[ 351 ] struct-declaration 参考1

 attributes opt struct-modifiers opt partialopt struct identifier type-parameter-list opt struct-interfaces opt type-parameter-constraints-clauses opt struct-body  ;opt

[ 352 ] struct-interfaces 参考1

: interface-type-list 

[ 353 ] struct-member-declaration 参考1

 constant-declaration 
 field-declaration 
 method-declaration 
 property-declaration 
 event-declaration 
 indexer-declaration 
 operator-declaration 
 constructor-declaration 
 static-constructor-declaration 
 type-declaration 

[ 354 ] struct-member-declarations 参考1

 struct-member-declaration 
 struct-member-declarations struct-member-declaration 

[ 355 ] struct-modifier 参考1

new
public
protected
internal
private

[ 356 ] struct-modifiers 参考1

 struct-modifier 
 struct-modifiers struct-modifier 

[ 357 ] struct-type 参考1

 type-name 
 simple-type 
 nullable-type 

[ 358 ] switch-block 参考1

{ switch-sections opt }


[ 359 ] switch-label 参考1

case constant-expression  :
default :

[ 360 ] switch-labels 参考1

 switch-label 
 switch-labels switch-label 

[ 361 ] switch-section 参考1

 switch-labels statement-list 

[ 362 ] switch-sections 参考1

 switch-section 
 switch-sections switch-section 

[ 363 ] switch-statement 参考1

switch ( expression ) switch-block 

[ 364 ] this-access 参考1

this


[ 365 ] throw-statement 参考1

throw expression opt ;

[ 366 ] token 参考1

 identifier 
 keyword 
 integer-literal 
 real-literal 
 character-literal 
 string-literal 
 operator-or-punctuator 

[ 367 ] try-statement 参考1

try block catch-clauses 
try block finally-clause 
try block catch-clauses finally-clause 

[ 368 ] type 参考1

 value-type 
 reference-type 
 type-parameter 

[ 369 ] type-argument 参考1

 type 


[ 370 ] type-argument-list 参考1

< type-arguments  >


[ 371 ] type-arguments 参考1

 type-argument 
 type-arguments , type-argument 

[ 372 ] type-declaration 参考1

 class-declaration 
 struct-declaration 
 interface-declaration 
 enum-declaration 
 delegate-declaration 

[ 373 ] type-name 参考1

 namespace-or-type-name 


[ 374 ] typeof-expression 参考1

 type of ( type )
 type of ( unbound-type-name )
 type of ( void )

[ 375 ] type-parameter 参考1

 identifier 
 identifier 

[ 376 ] type-parameter-constraints 参考1

 primary-constraint 
 secondary-constraints 
 constructor-constraint 
 primary-constraint , secondary-constraints 
 primary-constraint , constructor-constraint 
 secondary-constraints , constructor-constraint 
 primary-constraint , secondary-constraints , constructor-constraint 

[ 377 ] type-parameter-constraints-clause 参考1

where type-parameter : type-parameter-constraints 

[ 378 ] type-parameter-constraints-clauses 参考1

 type-parameter-constraints-clause 
 type-parameter-constraints-clauses type-parameter-constraints-clause 

[ 379 ] type-parameter-list 参考1

< type-parameters  >


[ 380 ] type-parameters 参考1

 attributes opt type-parameter 
 type-parameters , attributes opt type-parameter 

[ 381 ] unary-expression 参考1

 primary-expression 
+ unary-expression 
- unary-expression 
! unary-expression 
~ unary-expression 
 pre-increment-expression 
 pre-decrement-expression 
 cast-expression 

[ 382 ] unary-operator-declarator 参考1

 type operator overloadable-unary-operator ( type identifier  )

[ 383 ] unbound-type-name 参考1

 identifier generic-dimension-specifier opt
 identifier :: identifier generic-dimension-specifier opt
 unbound-type-name . identifier generic-dimension-specifier opt

[ 384 ] unchecked-expression 参考1

unchecked ( expression  )


[ 385 ] unchecked-statement 参考1

unchecked block 

[ 386 ] unicode-escape-sequence 参考1

\u hex-digit hex-digit hex-digit hex-digit 
\U hex-digit hex-digit hex-digit hex-digit hex-digit hex-digit hex-digit hex-digit 

[ 387 ] using-alias-directive 参考1

using identifier = namespace-or-type-name  ;

[ 388 ] using-directive 参考1

 using-alias-directive 
 using-namespace-directive 

[ 389 ] using-directives 参考1

 using-directive 
 using-directives using-directive 

[ 390 ] using-namespace-directive 参考1

using namespace-name  ;

[ 391 ] using-statement 参考1

using ( resource-acquisition ) embedded-statement 

[ 392 ] value-type 参考1

 struct-type 
 enum-type 

[ 393 ] variable-declarator 参考1

 identifier 
 identifier = variable-initializer 

[ 394 ] variable-declarators 参考1

 variable-declarator 
 variable-declarators , variable-declarator 

[ 395 ] variable-initializer 参考1

 expression 
 array-initializer 
 expression 
 array-initializer 

[ 396 ] variable-initializer-list 参考1

 variable-initializer 
 variable-initializer-list , variable-initializer 

[ 397 ] variable-reference 参考1

 expression 


[ 398 ] verbatim-string-literal 参考1

@" verbatim - string-literal - character sopt "


[ 399 ] verbatim-string-literal-character 参考1

 single-verbatim-string-literal-character 
 quote-escape-sequence 

[ 400 ] verbatim-string-literal-characters 参考1

 verbatim-string-literal-character 
 verbatim-string-literal-characters verbatim-string-literal-character 

[ 401 ] warning-action 参考1

disable
restore

[ 402 ] warning-list 参考1

 decimal-digits 
 warning-list whitespace opt , whitespace opt decimal-digits 

[ 403 ] where-clause 参考1

where boolean-expression 

[ 404 ] while-statement 参考1

while ( boolean-expression ) embedded-statement 

[ 405 ] whitespace 参考1


Any character with Unicode class Zs
Horizontal tab character (U+0009)
Vertical tab character (U+000B)
Form feed character  (U+000C)



[ 406 ] yield-statement 参考1

yield return expression  ;
yield break ;


引用关系信息
类型名扇入者扇出类型
{001}identifier 46(1)explicit-anonymous-function-parameter
(2)implicit-anonymous-function-parameter
(3)conversion-operator-declarator
(4)interface-property-declaration
(5)static-constructor-declaration
(6)interface-method-declaration
(7)interface-event-declaration
(8)binary-operator-declarator
(9)local-variable-declarator
(10)unary-operator-declarator
(11)enum-member-declaration
(12)constructor-declarator
(13)destructor-declaration
(14)extern-alias-directive
(15)namespace-or-type-name
(16)qualified-alias-member
(17)interface-declaration
(18)specific-catch-clause
(19)using-alias-directive
(20)delegate-declaration
(21)qualified-identifier
(22)constant-declarator
(23)variable-declarator
(24)member-initializer
(25)query-continuation
(26)struct-declaration
(27)class-declaration
(28)foreach-statement
(29)labeled-statement
(30)member-declarator
(31)unbound-type-name
(32)enum-declaration
(33)join-into-clause
(34)fixed-parameter
(35)parameter-array
(36)goto-statement
(37)named-argument
(38)type-parameter
(39)member-access
(40)base-access
(41)from-clause
(42)join-clause
(43)member-name
(44)simple-name
(45)let-clause
(46)token
2(1)identifier-or-keyword
(2)available-identifier
{002}expression 31(1)attribute-argument-expression
(2)delegate-creation-expression
(3)local-variable-initializer
(4)parenthesized-expression
(5)anonymous-function-body
(6)conditional-expression
(7)resource-acquisition
(8)unchecked-expression
(9)variable-initializer
(10)constant-expression
(11)boolean-expression
(12)checked-expression
(13)variable-reference
(14)foreach-statement
(15)initializer-value
(16)member-declarator
(17)join-into-clause
(18)return-statement
(19)switch-statement
(20)expression-list
(21)throw-statement
(22)yield-statement
(23)lock-statement
(24)select-clause
(25)group-clause
(26)from-clause
(27)join-clause
(28)assignment
(29)let-clause
(30)argument
(31)ordering
2(1)non-assignment-expression
(2)assignment
{003}attributes 28(1)interface-property-declaration
(2)static-constructor-declaration
(3)interface-indexer-declaration
(4)interface-method-declaration
(5)interface-event-declaration
(6)remove-accessor-declaration
(7)add-accessor-declaration
(8)get-accessor-declaration
(9)set-accessor-declaration
(10)constructor-declaration
(11)enum-member-declaration
(12)destructor-declaration
(13)interface-declaration
(14)constant-declaration
(15)delegate-declaration
(16)operator-declaration
(17)property-declaration
(18)indexer-declaration
(19)interface-accessors
(20)struct-declaration
(21)class-declaration
(22)event-declaration
(23)field-declaration
(24)enum-declaration
(25)fixed-parameter
(26)parameter-array
(27)type-parameters
(28)method-header
1(1)attribute-sections
{004}type 28(1)explicit-anonymous-function-parameter
(2)conversion-operator-declarator
(3)interface-property-declaration
(4)interface-indexer-declaration
(5)interface-event-declaration
(6)binary-operator-declarator
(7)local-constant-declaration
(8)object-creation-expression
(9)unary-operator-declarator
(10)default-value-expression
(11)non-nullable-value-type
(12)relational-expression
(13)constant-declaration
(14)property-declaration
(15)local-variable-type
(16)indexer-declarator
(17)event-declaration
(18)field-declaration
(19)typeof-expression
(20)attribute-target
(21)join-into-clause
(22)cast-expression
(23)fixed-parameter
(24)non-array-type
(25)type-argument
(26)from-clause
(27)join-clause
(28)return-type
3(1)reference-type
(2)type-parameter
(3)value-type
{005}whitespace 23(1)pp-equality-expression
(2)pp-primary-expression
(3)pp-unary-expression
(4)pragma-warning-body
(5)skipped-characters
(6)pp-and-expression
(7)pp-or-expression
(8)pp-elif-section
(9)pp-else-section
(10)pp-start-region
(11)line-indicator
(12)pp-declaration
(13)input-element
(14)pp-diagnostic
(15)pp-end-region
(16)pp-expression
(17)pp-if-section
(18)warning-list
(19)pp-new-line
(20)pp-message
(21)pp-pragma
(22)pp-endif
(23)pp-line
1(1)character
{006}block 17(1)anonymous-method-expression
(2)remove-accessor-declaration
(3)add-accessor-declaration
(4)anonymous-function-body
(5)static-constructor-body
(6)specific-catch-clause
(7)general-catch-clause
(8)unchecked-statement
(9)embedded-statement
(10)checked-statement
(11)constructor-body
(12)destructor-body
(13)finally-clause
(14)accessor-body
(15)operator-body
(16)try-statement
(17)method-body
1(1)statement-list
{007}character 15(1)single-verbatim-string-literal-character
(2)single-regular-string-literal-character
(3)identifier-start-character
(4)decimal-digit-character
(5)not-slash-or-asterisk
(6)connecting-character
(7)formatting-character
(8)combining-character
(9)new-line-character
(10)character-literal
(11)letter-character
(12)single-character
(13)input-character
(14)whitespace
(15)new-line
4(1)hexadecimal-escape-sequence
(2)unicode-escape-sequence
(3)simple-escape-sequence
(4)single-character
{008}embedded-statement 8(1)foreach-statement
(2)using-statement
(3)while-statement
(4)lock-statement
(5)for-statement
(6)do-statement
(7)if-statement
(8)statement
12(1)expression-statement
(2)iteration-statement
(3)selection-statement
(4)unchecked-statement
(5)checked-statement
(6)empty-statement
(7)using-statement
(8)yield-statement
(9)jump-statement
(10)lock-statement
(11)try-statement
(12)block
{009}pp-new-line 7(1)pp-elif-section
(2)pp-else-section
(3)pp-declaration
(4)pp-if-section
(5)pp-pragma
(6)pp-endif
(7)pp-line
3(1)single-line-comment
(2)whitespace
(3)new-line
{010}type-parameter-constraints-clauses 7(1)type-parameter-constraints-clauses
(2)interface-method-declaration
(3)interface-declaration
(4)delegate-declaration
(5)struct-declaration
(6)class-declaration
(7)method-header
2(1)type-parameter-constraints-clauses
(2)type-parameter-constraints-clause
{011}unicode-escape-sequence 7(1)regular-string-literal-character
(2)decimal-digit-character
(3)connecting-character
(4)formatting-character
(5)combining-character
(6)letter-character
(7)character
1(1)hex-digit
{012}decimal-digits 6(1)decimal-integer-literal
(2)decimal-digits
(3)line-indicator
(4)exponent-part
(5)real-literal
(6)warning-list
2(1)decimal-digits
(2)decimal-digit
{013}formal-parameter-list 6(1)interface-indexer-declaration
(2)interface-method-declaration
(3)constructor-declarator
(4)delegate-declaration
(5)indexer-declarator
(6)method-header
2(1)fixed-parameters
(2)parameter-array
{014}type-name 6(1)attribute-name
(2)interface-type
(3)delegate-type
(4)struct-type
(5)class-type
(6)enum-type
1(1)namespace-or-type-name
{015}type-parameter-list 6(1)interface-method-declaration
(2)interface-declaration
(3)delegate-declaration
(4)struct-declaration
(5)class-declaration
(6)method-header
1(1)type-parameters
{016}unary-expression 6(1)multiplicative-expression
(2)pre-decrement-expression
(3)pre-increment-expression
(4)unary-expression
(5)cast-expression
(6)assignment
5(1)pre-decrement-expression
(2)pre-increment-expression
(3)primary-expression
(4)unary-expression
(5)cast-expression
{017}boolean-expression 5(1)while-statement
(2)for-condition
(3)do-statement
(4)if-statement
(5)where-clause
1(1)expression
{018}expression-list 5(1)array-creation-expression
(2)element-initializer
(3)expression-list
(4)element-access
(5)base-access
2(1)expression-list
(2)expression
{019}interface-type 5(1)secondary-constraints
(2)interface-type-list
(3)indexer-declarator
(4)reference-type
(5)member-name
1(1)type-name
{020}primary-expression 5(1)post-decrement-expression
(2)post-increment-expression
(3)invocation-expression
(4)unary-expression
(5)member-access
2(1)primary-no-array-creation-expression
(2)array-creation-expression
{021}argument-list 4(1)object-creation-expression
(2)constructor-initializer
(3)invocation-expression
(4)argument-list
2(1)argument-list
(2)argument
{022}class-type 4(1)specific-catch-clause
(2)primary-constraint
(3)reference-type
(4)class-base
1(1)type-name
{023}conditional-section 4(1)pp-elif-section
(2)pp-else-section
(3)pp-if-section
(4)pp-region
2(1)skipped-section
(2)input-section
{024}constant-expression 4(1)enum-member-declaration
(2)constant-declarator
(3)goto-statement
(4)switch-label
1(1)expression
{025}input-characters 4(1)single-line-comment
(2)skipped-characters
(3)input-characters
(4)pp-message
2(1)input-characters
(2)input-character
{026}interface-type-list 4(1)interface-type-list
(2)struct-interfaces
(3)interface-base
(4)class-base
2(1)interface-type-list
(2)interface-type
{027}namespace-or-type-name 4(1)namespace-or-type-name
(2)using-alias-directive
(3)namespace-name
(4)type-name
4(1)namespace-or-type-name
(2)qualified-alias-member
(3)type-argument-list
(4)identifier
{028}new-line 4(1)skipped-section-part
(2)input-section-part
(3)pp-new-line
(4)pp-message
1(1)character
{029}type-argument-list 4(1)namespace-or-type-name
(2)qualified-alias-member
(3)member-access
(4)simple-name
1(1)type-arguments
{030}type-parameter 4(1)type-parameter-constraints-clause
(2)secondary-constraints
(3)type-parameters
(4)type
1(1)identifier
{031}array-initializer 3(1)local-variable-initializer
(2)array-creation-expression
(3)variable-initializer
1(1)variable-initializer-list
{032}array-type 3(1)array-creation-expression
(2)parameter-array
(3)reference-type
2(1)rank-specifiers
(2)non-array-type
{033}asterisks 3(1)delimited-comment-section
(2)delimited-comment
(3)asterisks
1(1)asterisks
{034}attribute-list 3(1)global-attribute-section
(2)attribute-section
(3)attribute-list
2(1)attribute-list
(2)attribute
{035}constant-declarators 3(1)local-constant-declaration
(2)constant-declaration
(3)constant-declarators
2(1)constant-declarators
(2)constant-declarator
{036}extern-alias-directives 3(1)extern-alias-directives
(2)compilation-unit
(3)namespace-body
2(1)extern-alias-directives
(2)extern-alias-directive
{037}hex-digit 3(1)hexadecimal-escape-sequence
(2)unicode-escape-sequence
(3)hex-digits
0
{038}identifier-or-keyword 3(1)available-identifier
(2)conditional-symbol
(3)identifier
2(1)identifier-part-characters
(2)identifier-start-character
{039}input-character 3(1)file-name-character
(2)input-characters
(3)not-number-sign
2(1)new-line-character
(2)character
{040}input-section 3(1)conditional-section
(2)input-section
(3)input
2(1)input-section-part
(2)input-section
{041}local-variable-declaration 3(1)declaration-statement
(2)resource-acquisition
(3)for-initializer
2(1)local-variable-declarators
(2)local-variable-type
{042}member-name 3(1)property-declaration
(2)event-declaration
(3)method-header
2(1)interface-type
(2)identifier
{043}namespace-member-declarations 3(1)namespace-member-declarations
(2)compilation-unit
(3)namespace-body
2(1)namespace-member-declarations
(2)namespace-member-declaration
{044}new-line-character 3(1)single-regular-string-literal-character
(2)single-character
(3)input-character
1(1)character
{045}pp-expression 3(1)pp-primary-expression
(2)pp-elif-section
(3)pp-if-section
2(1)pp-or-expression
(2)whitespace
{046}pp-message 3(1)pp-start-region
(2)pp-diagnostic
(3)pp-end-region
3(1)input-characters
(2)whitespace
(3)new-line
{047}rank-specifiers 3(1)array-creation-expression
(2)rank-specifiers
(3)array-type
2(1)rank-specifiers
(2)rank-specifier
{048}return-type 3(1)interface-method-declaration
(2)delegate-declaration
(3)method-header
1(1)type
{049}statement-expression-list 3(1)statement-expression-list
(2)for-initializer
(3)for-iterator
2(1)statement-expression-list
(2)statement-expression
{050}statement-list 3(1)statement-list
(2)switch-section
(3)block
2(1)statement-list
(2)statement
{051}string-literal 3(1)verbatim-string-literal
(2)literal
(3)token
2(1)verbatim-string-literal
(2)regular-string-literal
{052}type-declaration 3(1)namespace-member-declaration
(2)struct-member-declaration
(3)class-member-declaration
5(1)interface-declaration
(2)delegate-declaration
(3)struct-declaration
(4)class-declaration
(5)enum-declaration
{053}using-directives 3(1)compilation-unit
(2)using-directives
(3)namespace-body
2(1)using-directives
(2)using-directive
{054}variable-declarators 3(1)variable-declarators
(2)event-declaration
(3)field-declaration
2(1)variable-declarators
(2)variable-declarator
{055}accessor-body 2(1)get-accessor-declaration
(2)set-accessor-declaration
1(1)block
{056}accessor-declarations 2(1)property-declaration
(2)indexer-declaration
2(1)get-accessor-declaration
(2)set-accessor-declaration
{057}accessor-modifier 2(1)get-accessor-declaration
(2)set-accessor-declaration
0
{058}additive-expression 2(1)additive-expression
(2)shift-expression
2(1)multiplicative-expression
(2)additive-expression
{059}and-expression 2(1)exclusive-or-expression
(2)and-expression
2(1)equality-expression
(2)and-expression
{060}assignment 2(1)statement-expression
(2)expression
3(1)assignment-operator
(2)unary-expression
(3)expression
{061}attribute-argument-expression 2(1)positional-argument
(2)named-argument
1(1)expression
{062}attribute-sections 2(1)attribute-sections
(2)attributes
2(1)attribute-sections
(2)attribute-section
{063}character-literal 2(1)literal
(2)token
1(1)character
{064}class-member-declarations 2(1)class-member-declarations
(2)class-body
2(1)class-member-declarations
(2)class-member-declaration
{065}class-modifiers 2(1)class-declaration
(2)class-modifiers
2(1)class-modifiers
(2)class-modifier
{066}commas 2(1)generic-dimension-specifier
(2)commas
1(1)commas
{067}conditional-and-expression 2(1)conditional-and-expression
(2)conditional-or-expression
2(1)conditional-and-expression
(2)inclusive-or-expression
{068}conditional-or-expression 2(1)null-coalescing-expression
(2)conditional-or-expression
2(1)conditional-and-expression
(2)conditional-or-expression
{069}conditional-symbol 2(1)pp-primary-expression
(2)pp-declaration
1(1)identifier-or-keyword
{070}constant-declaration 2(1)struct-member-declaration
(2)class-member-declaration
4(1)constant-declarators
(2)constant-modifiers
(3)attributes
(4)type
{071}constant-modifiers 2(1)constant-declaration
(2)constant-modifiers
2(1)constant-modifiers
(2)constant-modifier
{072}constructor-declaration 2(1)struct-member-declaration
(2)class-member-declaration
4(1)constructor-declarator
(2)constructor-modifiers
(3)constructor-body
(4)attributes
{073}constructor-modifiers 2(1)constructor-declaration
(2)constructor-modifiers
2(1)constructor-modifiers
(2)constructor-modifier
{074}delegate-modifiers 2(1)delegate-declaration
(2)delegate-modifiers
2(1)delegate-modifiers
(2)delegate-modifier
{075}delegate-type 2(1)delegate-creation-expression
(2)reference-type
1(1)type-name
{076}delimited-comment-text 2(1)delimited-comment-text
(2)delimited-comment
2(1)delimited-comment-section
(2)delimited-comment-text
{077}dim-separators 2(1)dim-separators
(2)rank-specifier
1(1)dim-separators
{078}element-initializer-list 2(1)element-initializer-list
(2)collection-initializer
2(1)element-initializer-list
(2)element-initializer
{079}enum-member-declarations 2(1)enum-member-declarations
(2)enum-body
2(1)enum-member-declarations
(2)enum-member-declaration
{080}enum-modifiers 2(1)enum-declaration
(2)enum-modifiers
2(1)enum-modifiers
(2)enum-modifier
{081}equality-expression 2(1)equality-expression
(2)and-expression
2(1)relational-expression
(2)equality-expression
{082}event-declaration 2(1)struct-member-declaration
(2)class-member-declaration
6(1)event-accessor-declarations
(2)variable-declarators
(3)event-modifiers
(4)member-name
(5)attributes
(6)type
{083}event-modifiers 2(1)event-declaration
(2)event-modifiers
2(1)event-modifiers
(2)event-modifier
{084}exclusive-or-expression 2(1)exclusive-or-expression
(2)inclusive-or-expression
2(1)exclusive-or-expression
(2)and-expression
{085}explicit-anonymous-function-parameter-list 2(1)explicit-anonymous-function-parameter-list
(2)explicit-anonymous-function-signature
2(1)explicit-anonymous-function-parameter-list
(2)explicit-anonymous-function-parameter
{086}explicit-anonymous-function-signature 2(1)anonymous-function-signature
(2)anonymous-method-expression
1(1)explicit-anonymous-function-parameter-list
{087}field-declaration 2(1)struct-member-declaration
(2)class-member-declaration
4(1)variable-declarators
(2)field-modifiers
(3)attributes
(4)type
{088}field-modifiers 2(1)field-declaration
(2)field-modifiers
2(1)field-modifiers
(2)field-modifier
{089}file-name-characters 2(1)file-name-characters
(2)file-name
2(1)file-name-characters
(2)file-name-character
{090}fixed-parameters 2(1)formal-parameter-list
(2)fixed-parameters
2(1)fixed-parameters
(2)fixed-parameter
{091}from-clause 2(1)query-body-clause
(2)query-expression
3(1)expression
(2)identifier
(3)type
{092}global-attribute-sections 2(1)global-attribute-sections
(2)global-attributes
2(1)global-attribute-sections
(2)global-attribute-section
{093}hexadecimal-escape-sequence 2(1)regular-string-literal-character
(2)character
1(1)hex-digit
{094}hex-digits 2(1)hexadecimal-integer-literal
(2)hex-digits
2(1)hex-digits
(2)hex-digit
{095}identifier-part-characters 2(1)identifier-part-characters
(2)identifier-or-keyword
2(1)identifier-part-characters
(2)identifier-part-character
{096}implicit-anonymous-function-parameter 2(1)implicit-anonymous-function-parameter-list
(2)implicit-anonymous-function-signature
1(1)identifier
{097}implicit-anonymous-function-parameter-list 2(1)implicit-anonymous-function-parameter-list
(2)implicit-anonymous-function-signature
2(1)implicit-anonymous-function-parameter-list
(2)implicit-anonymous-function-parameter
{098}inclusive-or-expression 2(1)conditional-and-expression
(2)inclusive-or-expression
2(1)exclusive-or-expression
(2)inclusive-or-expression
{099}indexer-declaration 2(1)struct-member-declaration
(2)class-member-declaration
4(1)accessor-declarations
(2)indexer-declarator
(3)indexer-modifiers
(4)attributes
{100}indexer-modifiers 2(1)indexer-declaration
(2)indexer-modifiers
2(1)indexer-modifiers
(2)indexer-modifier
{101}input-elements 2(1)input-section-part
(2)input-elements
2(1)input-elements
(2)input-element
{102}integer-literal 2(1)literal
(2)token
2(1)hexadecimal-integer-literal
(2)decimal-integer-literal
{103}integer-type-suffix 2(1)hexadecimal-integer-literal
(2)decimal-integer-literal
0
{104}integral-type 2(1)numeric-type
(2)enum-base
0
{105}interface-accessors 2(1)interface-property-declaration
(2)interface-indexer-declaration
1(1)attributes
{106}interface-member-declarations 2(1)interface-member-declarations
(2)interface-body
2(1)interface-member-declarations
(2)interface-member-declaration
{107}interface-modifiers 2(1)interface-declaration
(2)interface-modifiers
2(1)interface-modifiers
(2)interface-modifier
{108}invocation-expression 2(1)primary-no-array-creation-expression
(2)statement-expression
2(1)primary-expression
(2)argument-list
{109}keyword 2(1)available-identifier
(2)token
0
{110}letter-character 2(1)identifier-start-character
(2)identifier-part-character
2(1)unicode-escape-sequence
(2)character
{111}local-variable-declarators 2(1)local-variable-declaration
(2)local-variable-declarators
2(1)local-variable-declarators
(2)local-variable-declarator
{112}local-variable-type 2(1)local-variable-declaration
(2)foreach-statement
1(1)type
{113}member-access 2(1)primary-no-array-creation-expression
(2)member-declarator
5(1)qualified-alias-member
(2)primary-expression
(3)type-argument-list
(4)predefined-type
(5)identifier
{114}member-declarator-list 2(1)anonymous-object-initializer
(2)member-declarator-list
2(1)member-declarator-list
(2)member-declarator
{115}member-initializer-list 2(1)member-initializer-list
(2)object-initializer
2(1)member-initializer-list
(2)member-initializer
{116}method-declaration 2(1)struct-member-declaration
(2)class-member-declaration
2(1)method-header
(2)method-body
{117}method-modifiers 2(1)method-modifiers
(2)method-header
2(1)method-modifiers
(2)method-modifier
{118}multiplicative-expression 2(1)multiplicative-expression
(2)additive-expression
2(1)multiplicative-expression
(2)unary-expression
{119}named-argument-list 2(1)attribute-arguments
(2)named-argument-list
2(1)named-argument-list
(2)named-argument
{120}non-array-type 2(1)array-creation-expression
(2)array-type
1(1)type
{121}non-assignment-expression 2(1)element-initializer
(2)expression
3(1)conditional-expression
(2)lambda-expression
(3)query-expression
{122}null-coalescing-expression 2(1)null-coalescing-expression
(2)conditional-expression
2(1)null-coalescing-expression
(2)conditional-or-expression
{123}object-creation-expression 2(1)primary-no-array-creation-expression
(2)statement-expression
3(1)object-or-collection-initializer
(2)argument-list
(3)type
{124}object-or-collection-initializer 2(1)object-creation-expression
(2)initializer-value
2(1)collection-initializer
(2)object-initializer
{125}operator-declaration 2(1)struct-member-declaration
(2)class-member-declaration
4(1)operator-declarator
(2)operator-modifiers
(3)operator-body
(4)attributes
{126}operator-modifiers 2(1)operator-declaration
(2)operator-modifiers
2(1)operator-modifiers
(2)operator-modifier
{127}orderings 2(1)orderby-clause
(2)orderings
2(1)orderings
(2)ordering
{128}positional-argument-list 2(1)positional-argument-list
(2)attribute-arguments
2(1)positional-argument-list
(2)positional-argument
{129}post-decrement-expression 2(1)primary-no-array-creation-expression
(2)statement-expression
1(1)primary-expression
{130}post-increment-expression 2(1)primary-no-array-creation-expression
(2)statement-expression
1(1)primary-expression
{131}pp-and-expression 2(1)pp-and-expression
(2)pp-or-expression
3(1)pp-equality-expression
(2)pp-and-expression
(3)whitespace
{132}pp-directive 2(1)skipped-section-part
(2)input-section-part
6(1)pp-conditional
(2)pp-declaration
(3)pp-diagnostic
(4)pp-pragma
(5)pp-region
(6)pp-line
{133}pp-elif-sections 2(1)pp-elif-sections
(2)pp-conditional
2(1)pp-elif-sections
(2)pp-elif-section
{134}pp-equality-expression 2(1)pp-equality-expression
(2)pp-and-expression
3(1)pp-equality-expression
(2)pp-unary-expression
(3)whitespace
{135}pp-or-expression 2(1)pp-or-expression
(2)pp-expression
3(1)pp-and-expression
(2)pp-or-expression
(3)whitespace
{136}pp-unary-expression 2(1)pp-equality-expression
(2)pp-unary-expression
3(1)pp-primary-expression
(2)pp-unary-expression
(3)whitespace
{137}pre-decrement-expression 2(1)statement-expression
(2)unary-expression
1(1)unary-expression
{138}pre-increment-expression 2(1)statement-expression
(2)unary-expression
1(1)unary-expression
{139}primary-no-array-creation-expression 2(1)primary-expression
(2)element-access
18(1)anonymous-object-creation-expression
(2)delegate-creation-expression
(3)anonymous-method-expression
(4)object-creation-expression
(5)post-decrement-expression
(6)post-increment-expression
(7)default-value-expression
(8)parenthesized-expression
(9)invocation-expression
(10)unchecked-expression
(11)checked-expression
(12)typeof-expression
(13)element-access
(14)member-access
(15)base-access
(16)simple-name
(17)this-access
(18)literal
{140}property-declaration 2(1)struct-member-declaration
(2)class-member-declaration
5(1)accessor-declarations
(2)property-modifiers
(3)member-name
(4)attributes
(5)type
{141}property-modifiers 2(1)property-declaration
(2)property-modifiers
2(1)property-modifiers
(2)property-modifier
{142}qualified-alias-member 2(1)namespace-or-type-name
(2)member-access
2(1)type-argument-list
(2)identifier
{143}qualified-identifier 2(1)namespace-declaration
(2)qualified-identifier
2(1)qualified-identifier
(2)identifier
{144}query-body 2(1)query-continuation
(2)query-expression
3(1)select-or-group-clause
(2)query-body-clauses
(3)query-continuation
{145}query-body-clauses 2(1)query-body-clauses
(2)query-body
2(1)query-body-clauses
(2)query-body-clause
{146}rank-specifier 2(1)array-creation-expression
(2)rank-specifiers
1(1)dim-separators
{147}real-literal 2(1)literal
(2)token
3(1)real-type-suffix
(2)decimal-digits
(3)exponent-part
{148}regular-string-literal-characters 2(1)regular-string-literal-characters
(2)regular-string-literal
2(1)regular-string-literal-characters
(2)regular-string-literal-character
{149}relational-expression 2(1)relational-expression
(2)equality-expression
3(1)relational-expression
(2)shift-expression
(3)type
{150}right-shift 2(1)overloadable-binary-operator
(2)shift-expression
0
{151}secondary-constraints 2(1)type-parameter-constraints
(2)secondary-constraints
3(1)secondary-constraints
(2)interface-type
(3)type-parameter
{152}shift-expression 2(1)relational-expression
(2)shift-expression
3(1)additive-expression
(2)shift-expression
(3)right-shift
{153}simple-escape-sequence 2(1)regular-string-literal-character
(2)character
0
{154}simple-name 2(1)primary-no-array-creation-expression
(2)member-declarator
2(1)type-argument-list
(2)identifier
{155}single-line-comment 2(1)pp-new-line
(2)comment
1(1)input-characters
{156}skipped-section 2(1)conditional-section
(2)skipped-section
2(1)skipped-section-part
(2)skipped-section
{157}specific-catch-clauses 2(1)specific-catch-clauses
(2)catch-clauses
2(1)specific-catch-clauses
(2)specific-catch-clause
{158}statement 2(1)labeled-statement
(2)statement-list
3(1)declaration-statement
(2)embedded-statement
(3)labeled-statement
{159}statement-expression 2(1)statement-expression-list
(2)expression-statement
7(1)object-creation-expression
(2)post-decrement-expression
(3)post-increment-expression
(4)pre-decrement-expression
(5)pre-increment-expression
(6)invocation-expression
(7)assignment
{160}static-constructor-declaration 2(1)struct-member-declaration
(2)class-member-declaration
4(1)static-constructor-modifiers
(2)static-constructor-body
(3)attributes
(4)identifier
{161}struct-member-declarations 2(1)struct-member-declarations
(2)struct-body
2(1)struct-member-declarations
(2)struct-member-declaration
{162}struct-modifiers 2(1)struct-declaration
(2)struct-modifiers
2(1)struct-modifiers
(2)struct-modifier
{163}switch-labels 2(1)switch-section
(2)switch-labels
2(1)switch-labels
(2)switch-label
{164}switch-sections 2(1)switch-sections
(2)switch-block
2(1)switch-sections
(2)switch-section
{165}type-arguments 2(1)type-argument-list
(2)type-arguments
2(1)type-arguments
(2)type-argument
{166}type-parameters 2(1)type-parameter-list
(2)type-parameters
3(1)type-parameters
(2)type-parameter
(3)attributes
{167}unbound-type-name 2(1)typeof-expression
(2)unbound-type-name
3(1)generic-dimension-specifier
(2)unbound-type-name
(3)identifier
{168}variable-initializer 2(1)variable-initializer-list
(2)variable-declarator
2(1)array-initializer
(2)expression
{169}variable-initializer-list 2(1)variable-initializer-list
(2)array-initializer
2(1)variable-initializer-list
(2)variable-initializer
{170}warning-list 2(1)pragma-warning-body
(2)warning-list
3(1)decimal-digits
(2)warning-list
(3)whitespace
{171}add-accessor-declaration 1(1)event-accessor-declarations
2(1)attributes
(2)block
{172}anonymous-function-body 1(1)lambda-expression
2(1)expression
(2)block
{173}anonymous-function-parameter-modifier 1(1)explicit-anonymous-function-parameter
0
{174}anonymous-function-signature 1(1)lambda-expression
2(1)explicit-anonymous-function-signature
(2)implicit-anonymous-function-signature
{175}anonymous-method-expression 1(1)primary-no-array-creation-expression
2(1)explicit-anonymous-function-signature
(2)block
{176}anonymous-object-creation-expression 1(1)primary-no-array-creation-expression
1(1)anonymous-object-initializer
{177}anonymous-object-initializer 1(1)anonymous-object-creation-expression
1(1)member-declarator-list
{178}argument 1(1)argument-list
2(1)variable-reference
(2)expression
{179}array-creation-expression 1(1)primary-expression
6(1)array-initializer
(2)expression-list
(3)rank-specifiers
(4)non-array-type
(5)rank-specifier
(6)array-type
{180}assignment-operator 1(1)assignment
1(1)right-shift-assignment
{181}attribute 1(1)attribute-list
2(1)attribute-arguments
(2)attribute-name
{182}attribute-arguments 1(1)attribute
2(1)positional-argument-list
(2)named-argument-list
{183}attribute-name 1(1)attribute
1(1)type-name
{184}attribute-section 1(1)attribute-sections
2(1)attribute-target-specifier
(2)attribute-list
{185}attribute-target 1(1)attribute-target-specifier
1(1)type
{186}attribute-target-specifier 1(1)attribute-section
1(1)attribute-target
{187}available-identifier 1(1)identifier
2(1)identifier-or-keyword
(2)keyword
{188}base-access 1(1)primary-no-array-creation-expression
2(1)expression-list
(2)identifier
{189}binary-operator-declarator 1(1)operator-declarator
3(1)overloadable-binary-operator
(2)identifier
(3)type
{190}boolean-literal 1(1)literal
0
{191}break-statement 1(1)jump-statement
0
{192}cast-expression 1(1)unary-expression
2(1)unary-expression
(2)type
{193}catch-clauses 1(1)try-statement
2(1)specific-catch-clauses
(2)general-catch-clause
{194}checked-expression 1(1)primary-no-array-creation-expression
1(1)expression
{195}checked-statement 1(1)embedded-statement
1(1)block
{196}class-base 1(1)class-declaration
2(1)interface-type-list
(2)class-type
{197}class-body 1(1)class-declaration
1(1)class-member-declarations
{198}class-declaration 1(1)type-declaration
7(1)type-parameter-constraints-clauses
(2)type-parameter-list
(3)class-modifiers
(4)attributes
(5)class-base
(6)class-body
(7)identifier
{199}class-member-declaration 1(1)class-member-declarations
11(1)static-constructor-declaration
(2)constructor-declaration
(3)destructor-declaration
(4)constant-declaration
(5)operator-declaration
(6)property-declaration
(7)indexer-declaration
(8)method-declaration
(9)event-declaration
(10)field-declaration
(11)type-declaration
{200}class-modifier 1(1)class-modifiers
0
{201}collection-initializer 1(1)object-or-collection-initializer
1(1)element-initializer-list
{202}combining-character 1(1)identifier-part-character
2(1)unicode-escape-sequence
(2)character
{203}comment 1(1)input-element
2(1)single-line-comment
(2)delimited-comment
{204}conditional-expression 1(1)non-assignment-expression
2(1)null-coalescing-expression
(2)expression
{205}connecting-character 1(1)identifier-part-character
2(1)unicode-escape-sequence
(2)character
{206}constant-declarator 1(1)constant-declarators
2(1)constant-expression
(2)identifier
{207}constant-modifier 1(1)constant-modifiers
0
{208}constructor-body 1(1)constructor-declaration
1(1)block
{209}constructor-constraint 1(1)type-parameter-constraints
0
{210}constructor-declarator 1(1)constructor-declaration
3(1)constructor-initializer
(2)formal-parameter-list
(3)identifier
{211}constructor-initializer 1(1)constructor-declarator
1(1)argument-list
{212}constructor-modifier 1(1)constructor-modifiers
0
{213}continue-statement 1(1)jump-statement
0
{214}conversion-operator-declarator 1(1)operator-declarator
2(1)identifier
(2)type
{215}decimal-digit 1(1)decimal-digits
0
{216}decimal-digit-character 1(1)identifier-part-character
2(1)unicode-escape-sequence
(2)character
{217}decimal-integer-literal 1(1)integer-literal
2(1)integer-type-suffix
(2)decimal-digits
{218}declaration-statement 1(1)statement
2(1)local-constant-declaration
(2)local-variable-declaration
{219}default-value-expression 1(1)primary-no-array-creation-expression
1(1)type
{220}delegate-creation-expression 1(1)primary-no-array-creation-expression
2(1)delegate-type
(2)expression
{221}delegate-declaration 1(1)type-declaration
7(1)type-parameter-constraints-clauses
(2)formal-parameter-list
(3)type-parameter-list
(4)delegate-modifiers
(5)return-type
(6)attributes
(7)identifier
{222}delegate-modifier 1(1)delegate-modifiers
0
{223}delimited-comment 1(1)comment
2(1)delimited-comment-text
(2)asterisks
{224}delimited-comment-section 1(1)delimited-comment-text
2(1)not-slash-or-asterisk
(2)asterisks
{225}destructor-body 1(1)destructor-declaration
1(1)block
{226}destructor-declaration 1(1)class-member-declaration
3(1)destructor-body
(2)attributes
(3)identifier
{227}do-statement 1(1)iteration-statement
2(1)boolean-expression
(2)embedded-statement
{228}element-access 1(1)primary-no-array-creation-expression
2(1)primary-no-array-creation-expression
(2)expression-list
{229}element-initializer 1(1)element-initializer-list
2(1)non-assignment-expression
(2)expression-list
{230}empty-statement 1(1)embedded-statement
0
{231}enum-base 1(1)enum-declaration
1(1)integral-type
{232}enum-body 1(1)enum-declaration
1(1)enum-member-declarations
{233}enum-declaration 1(1)type-declaration
5(1)enum-modifiers
(2)attributes
(3)identifier
(4)enum-base
(5)enum-body
{234}enum-member-declaration 1(1)enum-member-declarations
3(1)constant-expression
(2)attributes
(3)identifier
{235}enum-modifier 1(1)enum-modifiers
0
{236}enum-type 1(1)value-type
1(1)type-name
{237}event-accessor-declarations 1(1)event-declaration
2(1)remove-accessor-declaration
(2)add-accessor-declaration
{238}event-modifier 1(1)event-modifiers
0
{239}explicit-anonymous-function-parameter 1(1)explicit-anonymous-function-parameter-list
3(1)anonymous-function-parameter-modifier
(2)identifier
(3)type
{240}exponent-part 1(1)real-literal
2(1)decimal-digits
(2)sign
{241}expression-statement 1(1)embedded-statement
1(1)statement-expression
{242}extern-alias-directive 1(1)extern-alias-directives
1(1)identifier
{243}field-modifier 1(1)field-modifiers
0
{244}file-name 1(1)line-indicator
1(1)file-name-characters
{245}file-name-character 1(1)file-name-characters
1(1)input-character
{246}finally-clause 1(1)try-statement
1(1)block
{247}fixed-parameter 1(1)fixed-parameters
4(1)parameter-modifier
(2)attributes
(3)identifier
(4)type
{248}floating-point-type 1(1)numeric-type
0
{249}for-condition 1(1)for-statement
1(1)boolean-expression
{250}foreach-statement 1(1)iteration-statement
4(1)local-variable-type
(2)embedded-statement
(3)expression
(4)identifier
{251}for-initializer 1(1)for-statement
2(1)local-variable-declaration
(2)statement-expression-list
{252}for-iterator 1(1)for-statement
1(1)statement-expression-list
{253}formatting-character 1(1)identifier-part-character
2(1)unicode-escape-sequence
(2)character
{254}for-statement 1(1)iteration-statement
4(1)embedded-statement
(2)for-initializer
(3)for-condition
(4)for-iterator
{255}general-catch-clause 1(1)catch-clauses
1(1)block
{256}generic-dimension-specifier 1(1)unbound-type-name
1(1)commas
{257}get-accessor-declaration 1(1)accessor-declarations
3(1)accessor-modifier
(2)accessor-body
(3)attributes
{258}global-attributes 1(1)compilation-unit
1(1)global-attribute-sections
{259}global-attribute-section 1(1)global-attribute-sections
2(1)global-attribute-target-specifier
(2)attribute-list
{260}global-attribute-target 1(1)global-attribute-target-specifier
0
{261}global-attribute-target-specifier 1(1)global-attribute-section
1(1)global-attribute-target
{262}goto-statement 1(1)jump-statement
2(1)constant-expression
(2)identifier
{263}group-clause 1(1)select-or-group-clause
1(1)expression
{264}hexadecimal-integer-literal 1(1)integer-literal
2(1)integer-type-suffix
(2)hex-digits
{265}identifier-part-character 1(1)identifier-part-characters
5(1)decimal-digit-character
(2)connecting-character
(3)formatting-character
(4)combining-character
(5)letter-character
{266}identifier-start-character 1(1)identifier-or-keyword
2(1)letter-character
(2)character
{267}if-statement 1(1)selection-statement
2(1)boolean-expression
(2)embedded-statement
{268}implicit-anonymous-function-signature 1(1)anonymous-function-signature
2(1)implicit-anonymous-function-parameter-list
(2)implicit-anonymous-function-parameter
{269}indexer-declarator 1(1)indexer-declaration
3(1)formal-parameter-list
(2)interface-type
(3)type
{270}indexer-modifier 1(1)indexer-modifiers
0
{271}initializer-value 1(1)member-initializer
2(1)object-or-collection-initializer
(2)expression
{272}input-element 1(1)input-elements
3(1)whitespace
(2)comment
(3)token
{273}input-section-part 1(1)input-section
3(1)input-elements
(2)pp-directive
(3)new-line
{274}interface-base 1(1)interface-declaration
1(1)interface-type-list
{275}interface-body 1(1)interface-declaration
1(1)interface-member-declarations
{276}interface-declaration 1(1)type-declaration
7(1)type-parameter-constraints-clauses
(2)interface-modifiers
(3)type-parameter-list
(4)interface-base
(5)interface-body
(6)attributes
(7)identifier
{277}interface-event-declaration 1(1)interface-member-declaration
3(1)attributes
(2)identifier
(3)type
{278}interface-indexer-declaration 1(1)interface-member-declaration
4(1)formal-parameter-list
(2)interface-accessors
(3)attributes
(4)type
{279}interface-member-declaration 1(1)interface-member-declarations
4(1)interface-property-declaration
(2)interface-indexer-declaration
(3)interface-method-declaration
(4)interface-event-declaration
{280}interface-method-declaration 1(1)interface-member-declaration
6(1)type-parameter-constraints-clauses
(2)formal-parameter-list
(3)type-parameter-list
(4)return-type
(5)attributes
(6)identifier
{281}interface-modifier 1(1)interface-modifiers
0
{282}interface-property-declaration 1(1)interface-member-declaration
4(1)interface-accessors
(2)attributes
(3)identifier
(4)type
{283}iteration-statement 1(1)embedded-statement
4(1)foreach-statement
(2)while-statement
(3)for-statement
(4)do-statement
{284}join-clause 1(1)query-body-clause
3(1)expression
(2)identifier
(3)type
{285}join-into-clause 1(1)query-body-clause
3(1)expression
(2)identifier
(3)type
{286}jump-statement 1(1)embedded-statement
5(1)continue-statement
(2)return-statement
(3)break-statement
(4)throw-statement
(5)goto-statement
{287}labeled-statement 1(1)statement
2(1)identifier
(2)statement
{288}lambda-expression 1(1)non-assignment-expression
2(1)anonymous-function-signature
(2)anonymous-function-body
{289}let-clause 1(1)query-body-clause
2(1)expression
(2)identifier
{290}line-indicator 1(1)pp-line
3(1)decimal-digits
(2)whitespace
(3)file-name
{291}literal 1(1)primary-no-array-creation-expression
6(1)character-literal
(2)boolean-literal
(3)integer-literal
(4)string-literal
(5)null-literal
(6)real-literal
{292}local-constant-declaration 1(1)declaration-statement
2(1)constant-declarators
(2)type
{293}local-variable-declarator 1(1)local-variable-declarators
2(1)local-variable-initializer
(2)identifier
{294}local-variable-initializer 1(1)local-variable-declarator
2(1)array-initializer
(2)expression
{295}lock-statement 1(1)embedded-statement
2(1)embedded-statement
(2)expression
{296}member-declarator 1(1)member-declarator-list
4(1)member-access
(2)simple-name
(3)expression
(4)identifier
{297}member-initializer 1(1)member-initializer-list
2(1)initializer-value
(2)identifier
{298}method-body 1(1)method-declaration
1(1)block
{299}method-header 1(1)method-declaration
7(1)type-parameter-constraints-clauses
(2)formal-parameter-list
(3)type-parameter-list
(4)method-modifiers
(5)member-name
(6)return-type
(7)attributes
{300}method-modifier 1(1)method-modifiers
0
{301}named-argument 1(1)named-argument-list
2(1)attribute-argument-expression
(2)identifier
{302}namespace-body 1(1)namespace-declaration
3(1)namespace-member-declarations
(2)extern-alias-directives
(3)using-directives
{303}namespace-declaration 1(1)namespace-member-declaration
2(1)qualified-identifier
(2)namespace-body
{304}namespace-member-declaration 1(1)namespace-member-declarations
2(1)namespace-declaration
(2)type-declaration
{305}namespace-name 1(1)using-namespace-directive
1(1)namespace-or-type-name
{306}non-nullable-value-type 1(1)nullable-type
1(1)type
{307}not-number-sign 1(1)skipped-characters
1(1)input-character
{308}not-slash-or-asterisk 1(1)delimited-comment-section
1(1)character
{309}nullable-type 1(1)struct-type
1(1)non-nullable-value-type
{310}null-literal 1(1)literal
0
{311}numeric-type 1(1)simple-type
2(1)floating-point-type
(2)integral-type
{312}object-initializer 1(1)object-or-collection-initializer
1(1)member-initializer-list
{313}operator-body 1(1)operator-declaration
1(1)block
{314}operator-declarator 1(1)operator-declaration
3(1)conversion-operator-declarator
(2)binary-operator-declarator
(3)unary-operator-declarator
{315}operator-modifier 1(1)operator-modifiers
0
{316}operator-or-punctuator 1(1)token
0
{317}orderby-clause 1(1)query-body-clause
1(1)orderings
{318}ordering 1(1)orderings
2(1)ordering-direction
(2)expression
{319}ordering-direction 1(1)ordering
0
{320}overloadable-binary-operator 1(1)binary-operator-declarator
1(1)right-shift
{321}overloadable-unary-operator 1(1)unary-operator-declarator
0
{322}parameter-array 1(1)formal-parameter-list
3(1)array-type
(2)attributes
(3)identifier
{323}parameter-modifier 1(1)fixed-parameter
0
{324}parenthesized-expression 1(1)primary-no-array-creation-expression
1(1)expression
{325}positional-argument 1(1)positional-argument-list
1(1)attribute-argument-expression
{326}pp-conditional 1(1)pp-directive
4(1)pp-elif-sections
(2)pp-else-section
(3)pp-if-section
(4)pp-endif
{327}pp-declaration 1(1)pp-directive
3(1)conditional-symbol
(2)pp-new-line
(3)whitespace
{328}pp-diagnostic 1(1)pp-directive
2(1)pp-message
(2)whitespace
{329}pp-elif-section 1(1)pp-elif-sections
4(1)conditional-section
(2)pp-expression
(3)pp-new-line
(4)whitespace
{330}pp-else-section 1(1)pp-conditional
3(1)conditional-section
(2)pp-new-line
(3)whitespace
{331}pp-endif 1(1)pp-conditional
2(1)pp-new-line
(2)whitespace
{332}pp-end-region 1(1)pp-region
2(1)pp-message
(2)whitespace
{333}pp-if-section 1(1)pp-conditional
4(1)conditional-section
(2)pp-expression
(3)pp-new-line
(4)whitespace
{334}pp-line 1(1)pp-directive
3(1)line-indicator
(2)pp-new-line
(3)whitespace
{335}pp-pragma 1(1)pp-directive
3(1)pp-new-line
(2)pragma-body
(3)whitespace
{336}pp-primary-expression 1(1)pp-unary-expression
3(1)conditional-symbol
(2)pp-expression
(3)whitespace
{337}pp-region 1(1)pp-directive
3(1)conditional-section
(2)pp-start-region
(3)pp-end-region
{338}pp-start-region 1(1)pp-region
2(1)pp-message
(2)whitespace
{339}pragma-body 1(1)pp-pragma
1(1)pragma-warning-body
{340}pragma-warning-body 1(1)pragma-body
3(1)warning-action
(2)warning-list
(3)whitespace
{341}predefined-type 1(1)member-access
0
{342}primary-constraint 1(1)type-parameter-constraints
1(1)class-type
{343}property-modifier 1(1)property-modifiers
0
{344}query-body-clause 1(1)query-body-clauses
6(1)join-into-clause
(2)orderby-clause
(3)where-clause
(4)from-clause
(5)join-clause
(6)let-clause
{345}query-continuation 1(1)query-body
2(1)identifier
(2)query-body
{346}query-expression 1(1)non-assignment-expression
2(1)from-clause
(2)query-body
{347}quote-escape-sequence 1(1)verbatim-string-literal-character
0
{348}real-type-suffix 1(1)real-literal
0
{349}reference-type 1(1)type
4(1)interface-type
(2)delegate-type
(3)array-type
(4)class-type
{350}regular-string-literal 1(1)string-literal
1(1)regular-string-literal-characters
{351}regular-string-literal-character 1(1)regular-string-literal-characters
4(1)single-regular-string-literal-character
(2)hexadecimal-escape-sequence
(3)unicode-escape-sequence
(4)simple-escape-sequence
{352}remove-accessor-declaration 1(1)event-accessor-declarations
2(1)attributes
(2)block
{353}resource-acquisition 1(1)using-statement
2(1)local-variable-declaration
(2)expression
{354}return-statement 1(1)jump-statement
1(1)expression
{355}right-shift-assignment 1(1)assignment-operator
0
{356}select-clause 1(1)select-or-group-clause
1(1)expression
{357}selection-statement 1(1)embedded-statement
2(1)switch-statement
(2)if-statement
{358}select-or-group-clause 1(1)query-body
2(1)select-clause
(2)group-clause
{359}set-accessor-declaration 1(1)accessor-declarations
3(1)accessor-modifier
(2)accessor-body
(3)attributes
{360}sign 1(1)exponent-part
0
{361}simple-type 1(1)struct-type
1(1)numeric-type
{362}single-character 1(1)character
2(1)new-line-character
(2)character
{363}single-regular-string-literal-character 1(1)regular-string-literal-character
2(1)new-line-character
(2)character
{364}single-verbatim-string-literal-character 1(1)verbatim-string-literal-character
1(1)character
{365}skipped-characters 1(1)skipped-section-part
3(1)input-characters
(2)not-number-sign
(3)whitespace
{366}skipped-section-part 1(1)skipped-section
3(1)skipped-characters
(2)pp-directive
(3)new-line
{367}specific-catch-clause 1(1)specific-catch-clauses
3(1)class-type
(2)identifier
(3)block
{368}static-constructor-body 1(1)static-constructor-declaration
1(1)block
{369}static-constructor-modifiers 1(1)static-constructor-declaration
0
{370}struct-body 1(1)struct-declaration
1(1)struct-member-declarations
{371}struct-declaration 1(1)type-declaration
7(1)type-parameter-constraints-clauses
(2)type-parameter-list
(3)struct-interfaces
(4)struct-modifiers
(5)struct-body
(6)attributes
(7)identifier
{372}struct-interfaces 1(1)struct-declaration
1(1)interface-type-list
{373}struct-member-declaration 1(1)struct-member-declarations
10(1)static-constructor-declaration
(2)constructor-declaration
(3)constant-declaration
(4)operator-declaration
(5)property-declaration
(6)indexer-declaration
(7)method-declaration
(8)event-declaration
(9)field-declaration
(10)type-declaration
{374}struct-modifier 1(1)struct-modifiers
0
{375}struct-type 1(1)value-type
3(1)nullable-type
(2)simple-type
(3)type-name
{376}switch-block 1(1)switch-statement
1(1)switch-sections
{377}switch-label 1(1)switch-labels
1(1)constant-expression
{378}switch-section 1(1)switch-sections
2(1)statement-list
(2)switch-labels
{379}switch-statement 1(1)selection-statement
2(1)switch-block
(2)expression
{380}this-access 1(1)primary-no-array-creation-expression
0
{381}throw-statement 1(1)jump-statement
1(1)expression
{382}token 1(1)input-element
7(1)operator-or-punctuator
(2)character-literal
(3)integer-literal
(4)string-literal
(5)real-literal
(6)identifier
(7)keyword
{383}try-statement 1(1)embedded-statement
3(1)finally-clause
(2)catch-clauses
(3)block
{384}type-argument 1(1)type-arguments
1(1)type
{385}typeof-expression 1(1)primary-no-array-creation-expression
2(1)unbound-type-name
(2)type
{386}type-parameter-constraints 1(1)type-parameter-constraints-clause
3(1)constructor-constraint
(2)secondary-constraints
(3)primary-constraint
{387}type-parameter-constraints-clause 1(1)type-parameter-constraints-clauses
2(1)type-parameter-constraints
(2)type-parameter
{388}unary-operator-declarator 1(1)operator-declarator
3(1)overloadable-unary-operator
(2)identifier
(3)type
{389}unchecked-expression 1(1)primary-no-array-creation-expression
1(1)expression
{390}unchecked-statement 1(1)embedded-statement
1(1)block
{391}using-alias-directive 1(1)using-directive
2(1)namespace-or-type-name
(2)identifier
{392}using-directive 1(1)using-directives
2(1)using-namespace-directive
(2)using-alias-directive
{393}using-namespace-directive 1(1)using-directive
1(1)namespace-name
{394}using-statement 1(1)embedded-statement
2(1)resource-acquisition
(2)embedded-statement
{395}value-type 1(1)type
2(1)struct-type
(2)enum-type
{396}variable-declarator 1(1)variable-declarators
2(1)variable-initializer
(2)identifier
{397}variable-reference 1(1)argument
1(1)expression
{398}verbatim-string-literal 1(1)string-literal
1(1)string-literal
{399}verbatim-string-literal-character 1(1)verbatim-string-literal-characters
2(1)single-verbatim-string-literal-character
(2)quote-escape-sequence
{400}verbatim-string-literal-characters 1(1)verbatim-string-literal-characters
2(1)verbatim-string-literal-characters
(2)verbatim-string-literal-character
{401}warning-action 1(1)pragma-warning-body
0
{402}where-clause 1(1)query-body-clause
1(1)boolean-expression
{403}while-statement 1(1)iteration-statement
2(1)boolean-expression
(2)embedded-statement
{404}yield-statement 1(1)embedded-statement
1(1)expression
{405}compilation-unit 04(1)namespace-member-declarations
(2)extern-alias-directives
(3)global-attributes
(4)using-directives
{406}input 01(1)input-section

粤ICP备12058822号