【MSL #3】c# 文字列を書式設定する方法

はじめに

リテラルと変数のデータを結合し、書式設定して新しい値を作成する方法について学びます。
文字のエスケープシーケンスを利用することで、書式のタブや開業などの特殊文字を含めるよう、テキストのリテラル文字列を書式設定します。2つの文字列を連結する方法を学習し、文字列補完を利用して置換可能部分を含むリテラル文字列テンプレートを作成してみます。

文字エスケープシーケンス

エスケープ文字シーケンスは、文字列の出力に影響を与える特殊文字を挿入するようランタイムに指示します。c#では、エスケープ文字シーケンスは円記号\で始まり、そのあとにエスケープする文字が続きます。
・改行は\n
・タブは\t
・バックラッシュは\\

Console.WriteLine("Hello\nWorld!");
Console.WriteLine("Hello\tWorld!");

逐語的文字リテラル

逐語的文字列リテラルでは、バックスラッシュをエスケープしなくてもすべての空白と文字が維持されます。 逐語的文字列を作成するには、リテラル文字列の前に @ ディレクティブを使用します。
@”c:\source\repos”とすると、同じ結果が得られます。

文字列補完

文字列補間では、”テンプレート” と 1 つまたは複数の補間式を利用することで、複数の値を結合し、リテラル文字列を 1 つ作成します。 補間式は左右の中かっこ記号 { } で示されます。 かっこ内に値を返す C# 式を配置できます。 プレフィックスとして $ 文字が付くと、リテラル文字列はテンプレートになります。

messageに連結文字を代入する処理を書くより、$”{greeting} {fistName}!”の一行の方が読みやすくて、コード量もすっきりしています。

逐語的文字列リテラルと文字列補完の組合わせ

 逐語的リテラルのプレフィックス記号 @ と文字列補間の $ 記号を一緒に使用することもできます。

string projectName = “First-Project”;
Console.WriteLine($@”C:\Output{projectName}\Data”);

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です