String.Intern()的用法在此用例中是否有任何意义?

时间:2012-04-12 15:28:18

标签: c# string

在我正在开发的应用程序中,我创建了几个对象,每个对象都具有以下属性:

    /// <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.Format("{0} jump{1}", Jumps, Jumps != 1 ? "s" : String.Empty))这样的String.Intern()。它会对创建的字符串使用的内存产生影响吗?

1 个答案:

答案 0 :(得分:1)

对于几千个条目,它根本不重要。作为拇指规则,只要Listview不是由于性能和内存消耗原因而不是虚拟的,您就不必担心字符串实习。