【发布时间】:2010-11-08 02:54:22
【问题描述】:
从使用反射器的简要介绍来看,String.Substring() 似乎为每个子字符串分配内存。我是正确的吗?我认为这没有必要,因为字符串是不可变的。
我的基本目标是创建一个不分配额外内存的IEnumerable<string> Split(this String, Char) 扩展方法。
【问题讨论】:
-
我还没有仔细考虑过,或者用Reflector查看了StringBuilder的实现,但是IEnumerable
Split(this StringBuilder, Char)方法会起作用吗? -
如果 String.Substring() 不分配新内存,字符串不会是不可变的
标签: c# .net string memory string-interning