fos*_*son 8 .net c# memory string string-interning
从使用Reflector的简短外观看,它看起来像String.Substring()为每个子字符串分配内存.我是否纠正这种情况?我认为没有必要,因为字符串是不可变的.   
我的基本目标是创建一个IEnumerable<string> Split(this String, Char)不分配额外内存的扩展方法.
Sin*_*ion 24
大多数使用不可变字符串的语言创建新子字符串而不是引用现有字符串的一个原因是因为这会干扰以后垃圾收集这些字符串.
如果字符串用于其子字符串,但随后更大的字符串变得无法访问(通过子字符串除外)会发生什么.较大的字符串将无法收集,因为这会使子字符串无效.从长远来看,在短期内节省内存的好方法似乎是内存泄漏.
| 归档时间: | 
 | 
| 查看次数: | 1467 次 | 
| 最近记录: |