jjzjj

IsInterned

全部标签

c# - String.IsInterned 的目的是什么?

在String类中有一个方法IsInterned()。我从不使用这种方法。请帮助我了解此方法的最佳用途。 最佳答案 认为实习是一种优化;它以某些理想品质的降低换取其他品质的提高。特别是实习有以下优点:内存不会浪费在重复的字符串上。已知都被驻留的字符串之间的相等性比较非常快。碰巧被驻留的字符串之间的相等性比较仍然比它们没有被驻留时快得多。在某些情况下,其他比较会带来性能优势。它有以下不好的品质:字符串不经常被垃圾回收(如果有的话),所以可以回收的内存被用在那些再也见不到的字符串上,或者用了很长时间。(实习你所有的字符串,你最终可能会使