C# 語法參考(三 )

 

C.2.8 結構
struct-declaration:(結構聲明:)
attributesopt   struct-modifiersopt   struct   identifier   struct-interfacesopt   struct-body   ;opt(屬性可選   結構修飾符可選   struct   標識符   結構接口可選   結構體   ;可選)
struct-modifiers:(結構修飾符:)
struct-modifier(結構修飾符)
struct-modifiers   struct-modifier(結構修飾符   結構修飾符)
struct-modifier:(結構修飾符:)
new
public
protected
internal
private
struct-interfaces:(結構接口:)
:   interface-type-list(:   接口類型列表)
struct-body:(結構體:)
{   struct-member-declarationsopt   }({   結構成員聲明可選   })
struct-member-declarations:(結構成員聲明:)
struct-member-declaration(結構成員聲明)
struct-member-declarations   struct-member-declaration(結構成員聲明   結構成員聲明)
struct-member-declaration:(結構成員聲明:)
constant-declaration(常數聲明)
field-declaration(字段聲明)
method-declaration(方法聲明)
property-declaration(屬性聲明)
event-declaration(事件聲明)
indexer-declaration(索引器聲明)
operator-declaration(運算符聲明)
constructor-declaration(構造函數聲明)
static-constructor-declaration(靜態構造函數聲明)
type-declaration(類型聲明)
C.2.9 數組
array-type:(數組類型:)
non-array-type   rank-specifiers(非數組類型   秩說明符)
non-array-type:(非數組類型:)
type(類型)
rank-specifiers:(秩說明符:)
rank-specifier(秩說明符)
rank-specifiers   rank-specifier(秩說明符   秩說明符)

rank-specifier:(秩說明符:)
[   dim-separatorsopt   ]([   維度分隔符可選   ])
dim-separators:(維度分隔符:)
,
dim-separators   ,(維度分隔符   ,)
array-initializer:(數組初始值設定項:)
{   variable-initializer-listopt   }({   變量初始值設定項列表可選   })
{   variable-initializer-list   ,   }({   變量初始值設定項列表   ,   })
variable-initializer-list:(變量初始值設定項列表:)
variable-initializer(變量初始值設定項)
variable-initializer-list   ,   variable-initializer(變量初始值設定項列表   ,   變量初始值設定項)
variable-initializer:(變量初始值設定項:)
expression(表達式)
array-initializer(數組初始值設定項)
C.2.10 接口
interface-declaration:(接口聲明:)
attributesopt   interface-modifiersopt   interface   identifier   interface-baseopt   interface-body   ;opt(屬性可選   接口修飾符可選   interface   標識符   接口基可選   接口體   ;可選)
interface-modifiers:(接口修飾符:)
interface-modifier(接口修飾符)
interface-modifiers   interface-modifier(接口修飾符   接口修飾符)
interface-modifier:(接口修飾符:)
new
public
protected
internal
private
interface-base:(接口基:)
:   interface-type-list(:   接口類型列表)
interface-body:(接口體:)
{   interface-member-declarationsopt   }({   接口成員聲明可選   })
interface-member-declarations:(接口成員聲明:)
interface-member-declaration(接口成員聲明)
interface-member-declarations   interface-member-declaration(接口成員聲明   接口成員聲明)
interface-member-declaration:(接口成員聲明:)
interface-method-declaration(接口方法聲明)
interface-property-declaration(接口屬性聲明)
interface-event-declaration(接口事件聲明)
interface-indexer-declaration(接口索引器聲明)
interface-method-declaration:(接口方法聲明:)
attributesopt   newopt   return-type   identifier   (   formal-parameter-listopt   )   ;(屬性可選   new可選   返回類型   標識符   (   形參表可選   )   ;)
interface-property-declaration:(接口屬性聲明:)
attributesopt   newopt   type   identifier   {   interface-accessors   }(屬性可選   new可選   類型   標識符   {   接口訪問器   })
interface-accessors:(接口訪問器:)
attributesopt   get   ;(屬性可選   get   ;)
attributesopt   set   ;(屬性可選   set   ;)
attributesopt   get   ;   attributesopt   set   ;(屬性可選   get   ;   屬性可選   set   ;)
attributesopt   set   ;   attributesopt   get   ;(屬性可選   set   ;   屬性可選   get   ;)
interface-event-declaration:(接口事件聲明:)
attributesopt   newopt   event   type   identifier   ;(屬性可選   new可選   event   類型   標識符   ;)
interface-indexer-declaration:(接口索引器聲明:)
attributesopt   newopt   type   this   [   formal-parameter-list   ]   {   interface-accessors   }(屬性可選   new可選   類型   this   [   形參表   ]   {   接口訪問器   })
C.2.11 枚舉
enum-declaration:(枚舉聲明:)
attributesopt   enum-modifiersopt   enum   identifier   enum-baseopt   enum-body   ;opt(屬性可選   枚舉修飾符可選   enum   標識符   枚舉基可選   枚舉體   ;可選)
enum-base:(枚舉基:)
:   integral-type(:   整型)
enum-body:(枚舉體:)
{   enum-member-declarationsopt   }({   枚舉成員聲明可選   })
{   enum-member-declarations   ,   }({   枚舉成員聲明   ,   })
enum-modifiers:(枚舉修飾符:)
enum-modifier(枚舉修飾符)
enum-modifiers   enum-modifier(枚舉修飾符   枚舉修飾符)
enum-modifier:(枚舉修飾符:)
new
public
protected
internal
private
enum-member-declarations:(枚舉成員聲明:)
enum-member-declaration(枚舉成員聲明)
enum-member-declarations   ,   enum-member-declaration(枚舉成員聲明   ,   枚舉成員聲明)
enum-member-declaration:(枚舉成員聲明:)
attributesopt   identifier(屬性可選   標識符)
attributesopt   identifier   =   constant-expression(屬性可選   標識符   =   常數表達式)
C.2.12 委託
delegate-declaration:(委託聲明:)
attributesopt   delegate-modifiersopt   delegate   return-type   identifier   (   formal-parameter-listopt   )   ;(屬性可選   委託修飾符可選   delegate   返回類型   標識符   (   形參表可選   )   ;)
delegate-modifiers:(委託修飾符:)
delegate-modifier(委託修飾符)
delegate-modifiers   delegate-modifier(委託修飾符   委託修飾符)
delegate-modifier:(委託修飾符:)
new
public
protected
internal
private
C.2.13 屬性
global-attributes:(全局屬性:)
global-attribute-sections(全局屬性節)
global-attribute-sections:(全局屬性節:)
global-attribute-section(全局屬性節)
global-attribute-sections global-attribute-section(全局屬性節全局屬性節)
global-attribute-section:(全局屬性節:)
[   global-attribute-target-specifier   attribute-list   ]([   全局屬性目標說明符   屬性列表   ])
[   global-attribute-target-specifier   attribute-list   ,]([   全局屬性目標說明符   屬性列表   ,])
global-attribute-target-specifier:(全局屬性目標說明符:)
global-attribute-target   :(全局屬性目標   :)
global-attribute-target:(全局屬性目標:)
assembly(程序集)
module(模塊)
attributes:(屬性:)
attribute-sections(屬性節)
attribute-sections:(屬性節:)
attribute-section(屬性節)
attribute-sections   attribute-section(屬性節   屬性節)
attribute-section:(屬性節:)
[   attribute-target-specifieropt   attribute-list   ]([   屬性目標說明符可選   屬性列表   ])
[   attribute-target-specifieropt   attribute-list   ,   ]([   屬性目標說明符可選   屬性列表   ,   ])
attribute-target-specifier:(屬性目標說明符:)
attribute-target   :(屬性目標   :)
attribute-target:(屬性目標:)
field(字段)
event(事件)
method(方法)
param(參數)
property(屬性)
return(返回)
type(類型)
attribute-list:(屬性列表:)
attribute(屬性)
attribute-list   ,   attribute(屬性列表   ,   屬性)
attribute:(屬性:)
attribute-name   attribute-argumentsopt(屬性名   屬性參數可選)
attribute-name:(屬性名:)
type-name(類型名)
attribute-arguments:(屬性參數:)
(   positional-argument-listopt   )((   定位參數列表可選   ))
(   positional-argument-list   ,   named-argument-list   )((   定位參數列表   ,   命名參數列表   ))
(   named-argument-list   )((   命名參數列表   ))
positional-argument-list:(定位參數列表:)
positional-argument(定位參數)
positional-argument-list   ,   positional-argument(定位參數列表   ,   定位參數)
positional-argument:(定位參數:)
attribute-argument-expression(屬性參數表達式)
named-argument-list:(命名參數列表:)
named-argument(命名參數)
named-argument-list   ,   named-argument(命名參數列表   ,   命名參數)
named-argument:(命名參數:)
identifier   =   attribute-argument-expression(標識符   =   屬性參數表達式)
attribute-argument-expression:(屬性參數表達式:)
expression(表達式)
C.3 不安全代碼的語法擴展
class-modifier:(類修飾符:)
...
unsafe
struct-modifier:(結構修飾符:)
...
unsafe
interface-modifier:(接口修飾符:)
...
unsafe
delegate-modifier:(委託修飾符:)
...
unsafe
field-modifier:(字段修飾符:)
...
unsafe
method-modifier:(方法修飾符:)
...
unsafe
property-modifier:(屬性修飾符:)
...
unsafe
event-modifier:(事件修飾符:)
...
unsafe
indexer-modifier:(索引器修飾符:)
...
unsafe
operator-modifier:(運算符修飾符:)
...
unsafe
constructor-modifier:(構造函數修飾符:)
...
unsafe
destructor-declaration:(析構函數聲明:)
attributesopt   externopt   unsafeopt   ~   identifier   (   )    destructor-body(屬性可選   extern可選   unsafe可選   ~   標識符   (   )    析構函數體)
attributesopt   unsafeopt   externopt   ~   identifier   (   )    destructor-body(屬性可選   unsafe可選   extern可選   ~   標識符   (   )    析構函數體)
static-constructor-modifiers:(靜態構造函數修飾符:)
externopt   unsafeopt   static(extern可選   unsafe可選   靜態)
unsafeopt   externopt   static(unsafe可選   extern可選   靜態)
externopt   static   unsafeopt(extern可選   靜態   unsafe可選)
unsafeopt    static   externopt(unsafe可選    靜態   extern可選)
static   externopt   unsafeopt(靜態   extern可選   unsafe可選)
static   unsafeopt   externopt(靜態   unsafe可選   extern可選)
embedded-statement:(嵌入語句:)
...
unsafe-statement(不安全語句)
unsafe-statement:(不安全語句:)
unsafe   block(unsafe   塊)
type:(類型:)
value-type(值類型)
reference-type(引用類型)
pointer-type(指針類型)
pointer-type:(指針類型:)
unmanaged-type   *(非託管類型   *)
void   *(void   *)
unmanaged-type:(非託管類型:)
type(類型)
primary-no-array-creation-expression:(非數組創建基本表達式:)
...
pointer-member-access(指針成員訪問)
pointer-element-access(指針元素訪問)
sizeof-expression(sizeof 表達式)
unary-expression:(一元表達式:)
...
pointer-indirection-expression(指針間接尋址表達式)
addressof-expression(addressof 表達式)
pointer-indirection-expression:(指針間接尋址表達式:)
*   unary-expression(*   一元表達式)
pointer-member-access:(指針成員訪問:)
primary-expression   ->   identifier(基本表達式   ->   標識符)
pointer-element-access:(指針元素訪問:)
primary-no-array-creation-expression   [   expression   ](非數組創建基本表達式   [   表達式   ])
addressof-expression:(addressof 表達式:)
&   unary-expression(&   一元表達式)
sizeof-expression:(sizeof 表達式:)
sizeof   (   unmanaged-type   )(sizeof   (   非託管類型   ))
embedded-statement:(嵌入語句:)
...
fixed-statement(固定語句)
fixed-statement:(固定語句:)
fixed   (   pointer-type   fixed-pointer-declarators   )   embedded-statement(fixed   (   指針類型   固定指針聲明符   )   嵌入語句)
fixed-pointer-declarators:(固定指針聲明符:)
fixed-pointer-declarator(固定指針聲明符)
fixed-pointer-declarators   ,   fixed-pointer-declarator(固定指針聲明符   ,   固定指針聲明符)
fixed-pointer-declarator:(固定指針聲明符:)
identifier   =   fixed-pointer-initializer(標識符   =   固定指針初始值設定項)
fixed-pointer-initializer:(固定指針初始值設定項:)
&   variable-reference(&   變量引用)
expression(表達式)
variable-initializer:(變量初始值設定項:)
expression(表達式)
array-initializer(數組初始值設置項)
stackalloc-initializer(stackalloc 初始值設置項)
stackalloc-initializer:(stackalloc 初始值設定項:)
stackalloc   unmanaged-type   [   expression   ](stackalloc   非託管類型   [   表達式   ])

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章