• <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.4.2 標識符

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    C# 語言規范--2.4.2 標識符: 本節給出的標識符規則完全符合 Unicode 標準附件 15 推薦的規則,但以下情況除外:允許將下劃線用作初始字符(這是 C 編程語言的傳統),允許在標識符中使用 Unicode 轉義序列,以及允許“@”字符作為前綴以使關鍵字能夠用作標
    C# 語言規范--2.4.2 標識符:

    本節給出的標識符規則完全符合 Unicode 標準附件 15 推薦的規則,但以下情況除外:允許將下劃線用作初始字符(這是 C 編程語言的傳統),允許在標識符中使用 Unicode 轉義序列,以及允許“@”字符作為前綴以使關鍵字能夠用作標識符。

    identifier:(標識符:)
    available-identifier(可用的標識符)
    @   identifier-or-keyword(@   標識符或關鍵字)
    available-identifier:(可用的標識符:)
    不是“關鍵字”的“標識符或關鍵字”
    identifier-or-keyword:(標識符或關鍵字:)
    identifier-start-character   identifier-part-charactersopt(標識符開始字符   標識符部分字符可選)
    identifier-start-character:(標識符開始字符:)
    letter-character(字母字符)
    _(下劃線字符 U+005F
    identifier-part-characters:(標識符部分字符:)
    identifier-part-character(標識符部分字符)
    identifier-part-characters   identifier-part-character(標識符部分字符   標識符部分字符)
    identifier-part-character:(標識符部分字符:)
    letter-character(字母字符)
    decimal-digit-character(十進制數字字符)
    connecting-character(連接字符)
    combining-character(組合字符)
    formatting-character(格式設置字符)
    letter-character:(字母字符:)
    類 Lu、Ll、Lt、Lm、Lo 或 Nl 的 Unicode 字符
    表示類 Lu、Ll、Lt、Lm、Lo 或 Nl 的字符的 unicode 轉義序列
    combining-character:(組合字符:)
    類 Mn 或 Mc 的 Unicode 字符
    表示類 Mn 或 Mc 的字符的 unicode 轉義序列
    decimal-digit-character:(十進制數字字符:)
    類 Nd 的 Unicode 字符
    表示類 Nd 的字符的 unicode 轉義序列
    connecting-character:(連接字符:)
    類 Pc 的 Unicode 字符
    表示類 Pc 的字符的 unicode 轉義序列
    formatting-character:(格式設置字符:)
    類 Cf 的 Unicode 字符
    表示類 Cf 的字符的 unicode 轉義序列

    有關上面提到的 Unicode 字符類的信息,請參見《Unicode 標準 3.0 版》的第 4.5 節。

    有效標識符的例子包括“identifier1”、“_identifier2”和“@if”。

    符合規范的程序中的標識符必須符合由“Unicode 標準化格式 C”(按“Unicode 標準附錄 15”中的定義)定義的規范格式。當遇到非“標準化格式 C”格式的標識符時,怎樣處理它可由 C# 的具體實現確定,但是不要求診斷。

    使用前綴“@”可以將關鍵字用作標識符,這在與其他編程語言建立接口時很有用。字符 @ 并不是標識符的實際組成部分,因此在其他語言中可能將此標識符視為不帶前綴的正常標識符。帶 @ 前綴的標識符稱作逐字標識符。允許將 @ 前綴用于非關鍵字的標識符,但是(從代碼書寫樣式的意義上)強烈建議不要這樣做。

    示例:

    class @class{   public static void @static(bool @bool) {      if (@bool)         System.Console.WriteLine("true");      else         System.Console.WriteLine("false");   }   }class Class1{   static void M() {      cl\u0061ss.st\u0061tic(true);   }}

    定義一個名為“class”的類,該類具有一個名為“static”的靜態方法,此方法帶一個名為“bool”的參數。請注意,由于在關鍵字中不允許使用 Unicode 轉義符,因此標記“cl\u0061ss”是標識符,與“@class”標識符相同。

    兩個標識符如果在按順序實施了下列轉換后相同,則被視為相同:

    • 如果使用了前綴“@”,移除它。
    • 將每個“unicode 轉義序列”轉換為它的對應 Unicode 字符。
    • 移除所有“格式化字符”。

    包含兩個連續下劃線字符 (U+005F) 的標識符被保留供具體實現使用。例如,一個實現可以設置它自己的以兩個下劃線開頭的擴展關鍵字。



    原文轉自: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>