2012-04-12 63 views
1

在我开发我创建多个对象,每个具有以下属性的应用程序:在这个用例中,String.Intern()的用法有什么意义吗?

/// <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

这是多久召唤一次? “跳跃”内有多少变化? – Oded 2012-04-12 15:31:45

+0

用每个对象调用它。跳转值可以从-1到short.MaxValue()。 – Jimi 2012-04-12 15:34:32

回答

1

对于几千条,根本没有关系。作为一个拇指规则,只要Listview由于性能和内存消耗的原因而不是虚拟的,你不需要担心字符串实习。

相关问题