Aracılığıyla paylaş


Dize/Karakter kaçış dizisi \e

Not

Bu makale bir özellik belirtimidir. Belirtim, özelliğin tasarım belgesi olarak görev alır. Önerilen belirtim değişikliklerini ve özelliğin tasarımı ve geliştirilmesi sırasında gereken bilgileri içerir. Bu makaleler, önerilen belirtim değişiklikleri son haline getirilene ve geçerli ECMA belirtimine dahil edilene kadar yayımlanır.

Özellik belirtimi ile tamamlanan uygulama arasında bazı tutarsızlıklar olabilir. Bu farklılıklar, ilgilidil tasarım toplantısı (LDM) notlarında yakalanır.

Özellik belirtimlerini C# dil standardına benimseme işlemi hakkında daha fazla bilgi edinmek için belirtimleri makalesinde bulabilirsiniz.

Şampiyon sorunu: https://github.com/dotnet/csharplang/issues/8657

Özet

Dize/karakter kaçış dizisi yeni bir ekleme olan \e, genellikle ESCAPE (veya ESC) karakteri olarak bilinen 0x1bkarakter kod noktası için kısayol veya kısa bir değişim olarak kullanılmaktadır.
Bu karaktere şu anda aşağıdaki kaçış dizilerinden biri kullanılarak erişilebilir:

  • \u001b
  • \U0000001b
  • \x1b (önerilmez, alttaki resme bakın.)

Bu teklifin uygulanmasıyla birlikte aşağıdaki onaylar doğru olmalıdır:

char escape_char = '\e';

Assert.IsTrue(escape_char == (char)0x1b, "...");
Assert.IsTrue(escape_char == '\u001b', "...");
Assert.IsTrue(escape_char == '\U0000001b', "...");
Assert.IsTrue(escape_char == '\x1b', "...");

Ayrıntılı tasarım

Dil söz dizimi belirtimi, 6.4.5.5 bölümünde aşağıdaki gibi değiştirilir:

fragment Simple_Escape_Sequence
-    : '\\\'' | '\\"' | '\\\\' | '\\0' | '\\a' | '\\b' | '\\f' | '\\n' | '\\r' | '\\t' | '\\v'
+    : '\\\'' | '\\"' | '\\\\' | '\\0' | '\\a' | '\\b' | '\\f' | '\\n' | '\\r' | '\\t' | '\\v' | '\\e'
    ;

Spesifikasyonlarda son satır'nin aşağıdaki tabloya eklenmesi:

Basit çıkış dizisi, aşağıdaki tabloda açıklandığı gibi bir Unicode karakterini temsil eder.

kaçış dizisi Karakter adı Unicode kod noktası
\' Tek tırnak U+0027
... ... ...
\e Kaçış karakteri U+001B

Character_Literal türü char.