を宣言することには何らかの利点がありますか?文字列に対して定数を使用した場合のパフォーマンスに関する顕著な利点はありますか?次の場合を仮定してください。ローカル変数にローカル変数C#
public void MethodUsingConstant()
{
const string searchedText = "foo";
//some operations using searchedText string
}
public void MethodNoUsingConstant()
{
string searchedText = "foo";
//some operations using searchedText string
}
これをクラス構造定数フィールドに入れることもできます。
また、これらのマイクロ最適化をあまりにも多く考えるのは避けてください。
実証可能な測定可能なパフォーマンスの問題がある場合にのみ最適化します。それでも、パフォーマンスのボトルネックを見つけて最適化するだけです。 – Kevin
これは非常に極端な「最適化」です。両方の文字列がインターンされ、実行時に同じ参照を取得することになります。最適化を使って両方の例をコンパイルし、ILを見ると、それらは同じです。 – Scott
プログラムの正確性に違いがあります。定数として宣言することによって、あなたの意図は明確です。これは静的な値であり、コードの途中で別の値に設定できる変数ではありません。 – hatchet