rksoftware

Visual Studio とか C# とかが好きです

C# 13 を試す 新しいエスケープ シーケンス

C# 13 の 新しいエスケープ シーケンス を試してみます。
元ネタはこちら

learn.microsoft.com

そもそもの元の機能を使ったことがないですね、この機能。

// 背景色、文字色、文字修飾などいろいろとできる
Console.WriteLine("\u001b[46m\u001b[35mしあん\u001b[0m \x1b[43m\x1b[30mイエロー\u001b[0m \u001b[4mアンダーライン\u001b[0m");

// これからは \e でできる
// .csproj に <LangVersion>Preview</LangVersion> がないと
// CS8652 機能 '文字列エスケープ文字' は現在、プレビュー段階であり、*サポートされていません*。プレビュー機能を使用するには、'preview' 言語バージョンを使用してください。
Console.WriteLine("\e[46m\e[35mしあん\e[0m \e[43m\e[30mイエロー\e[0m \e[4mアンダーライン\e[0m");

ユニコードで文字修飾とかいろいろとできて、そこまでは既存機能。その際の指示部分はエスケープシーケンスが必要になるわけですがそれが色々な環境でいろいろなものが使えると。
今回 C# 13 でそれが増えたということのようですね。短くわかりやすく書けますね。

世間ではログ出力なんかでよく使われている様子。

使いこなしましょう。