Почему .NET создает новые подстроки вместо того, чтобы указывать на существующие строки?
Из краткого обзора с помощью Reflector, это выглядит какString.Substring()
выделяет память для каждой подстроки. Я прав, что это так? Я думал, что в этом не будет необходимости, поскольку строки являются неизменяемыми.
Моей основной целью было создатьIEnumerable<string> Split(this String, Char)
метод расширения, который не выделяет дополнительную память.