• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • C# 語言規范--2.5.3 聲明指令

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    C# 語言規范--2.5.3 聲明指令: 聲明指令用于定義或取消定義條件編譯符號。 pp-declaration: (pp 聲明:) whitespace opt # whitespace opt define whitespaceconditional-symbolpp-new-line (空白可選 #空白可選 define空白 條件符號 pp 新行) whitespa
    C# 語言規范--2.5.3 聲明指令:

    聲明指令用于定義或取消定義條件編譯符號。

    pp-declaration:(pp 聲明:)
    whitespaceopt   #   whitespaceopt   define   whitespace   conditional-symbol   pp-new-line(空白可選   #   空白可選   define   空白   條件符號   pp 新行)
    whitespaceopt   #   whitespaceopt   undef   whitespace   conditional-symbol   pp-new-line(空白可選   #   空白可選   undef   空白   條件符號   pp 新行)
    pp-new-line:(pp 新行:)
    whitespaceopt   single-line-commentopt   new-line(空白可選   單行注釋可選   新行)

    #define 指令的處理使給定的條件編譯符號成為已定義的(從跟在指令后面的源代碼行開始)。類似地,對 #undef 指令的處理使給定的條件編譯符號成為未定義的(從跟在指令后面的源代碼行開始)。

    源文件中的任何 #define#undef 指令都必須出現在源文件中第一個“標記”(第 2.4 節)的前面,否則將發生編譯時錯誤。直觀地講,#define#undef 指令必須位于源文件中所有“實代碼”的前面。

    示例:

    #define Enterprise#if Professional || Enterprise   #define Advanced#endifnamespace Megacorp.Data{   #if Advanced   class PivotTable {...}   #endif}

    是有效的,這是因為 #define 指令位于源文件中第一個標記(namespace 關鍵字)的前面。

    下面的示例產生編譯時錯誤,因為 #define 指令在實代碼后面出現:

    #define Anamespace N{   #define B   #if B   class Class1 {}   #endif}

    #define 指令可用于重復地定義一個已定義的條件編譯符號,而不必對該符號插入任何 #undef。下面的示例定義一個條件編譯符號 A,然后再次定義它。

    #define A#define A

    #undef 指令可用于取消定義一個本來已經是未定義的條件編譯符號。下面的示例定義一個條件編譯符號 A,然后兩次取消定義該符號;第二個 #undef 沒有作用但仍是有效的。

    #define A#undef A#undef A



    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>