クラスの例:
public class SomeType
{
private int type;
// some code...
public override string ToString ()
{
if (type == 1) return "One";
if (type == 2) return "Two";
}
}
ここで、アプリケーションが 1ToString()
秒間に何千回もメソッドを呼び出すと想像してください。
私の質問は次のとおりです。インラインで作成された文字列をコードで使用するsomething = myClass.ToString()
と、すべての呼び出しで新しい文字列が作成されるか、コンパイラが何らかの方法で最適化しますか? (文字列は不変であるため、静的文字列への参照のみが返される可能性があります)。
そうでない場合は、静的なプライベート文字列フィールドを作成しToString
、パフォーマンス上の理由からメソッドで返す必要がありますか?
もちろん、ストップウォッチを使用してテストしますが、とにかく専門家の回答が必要です.