1

私が開発しているアプリでは、それぞれが次のプロパティを持ついくつかのオブジェクトを作成しています:

    /// <summary>
    /// Gets the jumps text.
    /// </summary>
    public string JumpsText
    {
        get
        {
            return Jumps == -1 ? String.Empty : String.Format("{0} jump{1}", Jumps, Jumps != 1 ? "s" : String.Empty);
        }
    }

オブジェクトは、リストビューを反復するために使用されます。作成されるオブジェクトは 1 から最大 3000 まで変化する可能性があります。つまり、上記のプロパティから作成される文字列は、異なるオブジェクトで同じになる可能性があります。

私の質問は:

この場合、 String.Intern() を使用するString.Intern(String.Format("{0} jump{1}", Jumps, Jumps != 1 ? "s" : String.Empty))ことをお勧めします。作成された文字列が使用するメモリに影響はありますか?

4

1 に答える 1

1

数千のエントリの場合、それはまったく問題ではありません。経験則として、パフォーマンスとメモリ消費の理由でリストビューが仮想でない限り、文字列のインターンについて心配する必要はありません。

于 2012-04-12T15:33:58.360 に答える