文字列/文字エスケープ シーケンス
手記
この記事は機能仕様です。 仕様は、機能の設計ドキュメントとして機能します。 これには、提案された仕様の変更と、機能の設計と開発時に必要な情報が含まれます。 これらの記事は、提案された仕様の変更が最終決定され、現在の ECMA 仕様に組み込まれるまで公開されます。
機能の仕様と完成した実装の間には、いくつかの違いがある可能性があります。 これらの違いは、関連する 言語設計会議 (LDM) ノートでキャプチャされます。
機能仕様を C# 言語標準に導入するプロセスの詳細については、仕様に関する記事を参照してください。
チャンピオンの課題: https://github.com/dotnet/csharplang/issues/8657
概要
\e (または 0x1b) 文字として知られる文字コード ポイント ESCAPEのショートカット/省略形の置換としての ESC 文字列/文字エスケープ シーケンスを追加。
この文字は現在、次のいずれかのエスケープ シーケンスを使用してアクセスできます。
\u001b\U0000001b-
\x1b(推奨されません。下部に添付されている画像を参照してください)。
この提案の実装では、次のアサーションが真である必要があります。
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', "...");
詳細な設計
言語構文の仕様は、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'
;
次の仕様の表に 最後の行 を追加する。
単純なエスケープ シーケンスは、次の表に示すように Unicode 文字を表します。
エスケープシーケンス 文字名 Unicode コードポイント \'単一引用符 U+0027 ... ... ... \eエスケープ文字 U+001B Character_Literal の型は
charです。
C# feature specifications