文字列補間を使用すると、顕著なパフォーマンスの違いがありますか?
myString += $"{x:x2}";
vs String.Format()?
myString += String.Format("{0:x2}", x);
Resharperが修正を促しているので、私はただ尋ねています。
気づくのは相対的です。ただし、文字列補間はコンパイル時にstring.Format()
に変換されるため、結果は同じになります。
ただし、微妙な違いがあります。 this の質問からわかるように、書式指定子の文字列の連結により、追加のstring.Concat()
呼び出しが発生します。
文字列の補間は、コンパイル時にstring.Format()に変換されます。
また、string.Formatでは、単一の引数に複数の出力を指定し、単一の引数に異なる出力形式を指定できます。しかし、文字列補間の方が読みやすいと思います。だから、それはあなた次第です。
a = string.Format("Due date is {0:M/d/yy} at {0:h:mm}", someComplexObject.someObject.someProperty);
b = $"Due date is {someComplexObject.someObject.someProperty:M/d/yy} at {someComplexObject.someObject.someProperty:h:mm}";
いくつかのperformanceテスト結果があります https://koukia.ca/string-interpolation-vs-string-format-string-concat- and-string-builder-performance-benchmarks-c1dad38032a