Escape-sequentie teken/tekenreeks \e

Notitie

Dit artikel is een functiespecificatie. De specificatie fungeert als het ontwerpdocument voor de functie. Het bevat voorgestelde specificatiewijzigingen, samen met informatie die nodig is tijdens het ontwerp en de ontwikkeling van de functie. Deze artikelen worden gepubliceerd totdat de voorgestelde specificaties zijn voltooid en opgenomen in de huidige ECMA-specificatie.

Er kunnen enkele verschillen zijn tussen de functiespecificatie en de voltooide implementatie. Deze verschillen worden vastgelegd in de relevante Language Design Meeting-notities.

Meer informatie over het proces voor het aannemen van functiespeclets in de C#-taalstandaard vindt u in het artikel over de specificaties.

Kampioen probleem: https://github.com/dotnet/csharplang/issues/8657

Samenvatting

Een toevoeging van de escapereeks \e als snelkoppeling of verkorte vervanging voor het tekencodepunt 0x1b, dat bekendstaat als het ESCAPE (of ESC) karakter.
Dit teken is momenteel toegankelijk met behulp van een van de volgende escapereeksen:

  • \u001b
  • \U0000001b
  • \x1b (niet aanbevolen, zie de afbeelding onderaan.)

Met de tenuitvoerlegging van dit voorstel moeten de volgende beweringen waar zijn:

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', "...");

Gedetailleerd ontwerp

De taalsyntaxisspecificatie wordt als volgt gewijzigd in sectie 6.4.5.5:

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

Naast de toevoeging van de laatste regel aan de volgende tabel in de specificaties:

Een eenvoudige escapereeks vertegenwoordigt een Unicode-teken, zoals beschreven in de onderstaande tabel.

Escape-sequentie karakternaam Unicode-codepunt
\' Enkele aanhalingsteken U+0027
... ... ...
\e Escape-teken U+001B

Het type Character_Literal is char.