演習 - 文字列補間

完了

文字列連結は簡単で便利です。たくさんのリテラル文字列や変数を組み合わせ、1 つのメッセージを書式設定する必要がある状況で、文字列補間が広く普及し始めています。

文字列補間とは何か。

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

言い換えると、次のコード行を記述する代わりに:

string message = greeting + " " + firstName + "!";

代わりに、このさらに簡潔なコード行を記述することができます:

string message = $"{greeting} {firstName}!";

このシンプルな例で、キーストロークがわずかに少なくなりました。 もっと複雑な操作において簡潔な文字列補間をどれだけ増やせるかが想像できます。 さらに、文字列補間の構文はわかりやすく、読みやすいと感じる人がたくさんいます。

次の演習では、文字列補間を使用して前のメッセージを書き直します。

手順 1: コード エディターですべてのコードを削除する

マウスを使用してコード エディターのすべてのテキストを強調表示し、backspace または del キーを選択して全部削除します。

手順 2: 文字列補間を使用し、リテラル文字列と変数値を結合する

2 つの文字列を補間するには、リテラル文字列を作成し、文字列の前に $ 記号を付けます。 リテラル文字列には、少なくとも 1 つの中かっこ {} を含める必要があります。また、その文字の中には、変数の名前を使用します。

次のコードをコード ウィンドウに追加します。

string firstName = "Bob";
string message = $"Hello {firstName}!";
Console.WriteLine(message);

次にコードを実行します。 出力コンソールに次の結果が表示されます。

Hello Bob!

手順 3: 複数の変数とリテラル文字列で文字列補間を使用する

同じコード行で複数の補間演算を実行できます。

手順 2 で記述したコードを修正し、次のコードを作成します。

string firstName = "Bob";
string greeting = "Hello";
string message = $"{greeting} {firstName}!";
Console.WriteLine(message);

次にコードを実行します。 出力コンソールに次の結果が表示されます。

Hello Bob!

手順 4: 中間変数を回避する

前の演習で行ったように、メッセージを格納する一時的な変数をなくすることができます。

手順 3 で記述したコードを修正し、次のコードを作成します。

string firstName = "Bob";
string greeting = "Hello";
Console.WriteLine($"{greeting} {firstName}!");

次にコードを実行します。 コードを簡略化しましたが、出力コンソールの結果は同じになるはずです。

Hello Bob!

手順 5: 逐語的リテラルと文字列補間を組み合わせる

テンプレートで逐語的リテラルを使用する必要があるとします。 逐語的リテラルのプレフィックス記号 @ と文字列補間の $ 記号を一緒に使用できます。

前の手順からのコードを削除し、次のコードを .NET エディターに入力します。

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

次にコードを実行します。次の結果が表示されるはずです。

C:\Output\First-Project\Data

要点

この演習から得られる主な知識:

  • 文字列補間を利用すると、一部の状況で必要とされる文字数を減らすことで、文字列連結が改善される。
  • それぞれの記号を組み合わせ、それを文字列テンプレートのプレフィックスとして使用して、文字列補間と逐語的リテラルを結合できる。