個人的なメモ

Tomohiro Suzuki @hiro128_777 のブログです。Microsoft MVP for Developer Technologies 2017- 本ブログと所属組織の公式見解は関係ございません。

C# 10 の新機能 - const および文字列補間

C# 10 の新機能の情報の目次は以下をご覧ください。
hiro128.hatenablog.jp 
 

const および文字列補間

プレースホルダーに使用する値が定数である場合は、const で定義された値にも文字列補間に使用できるようになりました。単純にこれは便利です。

さらに、下記コード1のように補間された文字列のすべての部分が文字列リテラルであることを認識できる場合、コンパイラは、コード2のように単一の文字列リテラルとして記述されていた場合と同じように最適化して IL に出力します。つまり、以下の2つのコードはどちらの場合も、コード2のように記述されたものとして IL に出力されます。

コード1

const string Greeting = "Hello";
const string GreetingName = $"{Greeting} .NET 6"; // const で定義する値にも文字列補間が使用できる
string result = $"{GreetingName}!"; 

 
コード 2

string result = "Hello, .NET 6!";

 

導入の意図

この機能はコードの記述の自由度を高めることとコンパイラの最適化による速度向上のための機能です。
速度向上については開発者は特に意識することなく、コンパイラで最適化が働きパフォーマンスアップします。
 
公式情報:
const and interpolated strings
String Interpolation in C# 10 and .NET 6