Por que o .NET cria novas substrings em vez de apontar para strings existentes?
De um breve olhar usando o Reflector, pareceString.Substring()
aloca memória para cada substring. Estou certo de que este é o caso? Eu pensei que isso não seria necessário, já que as cordas são imutáveis.
Meu objetivo subjacente era criar umIEnumerable<string> Split(this String, Char)
método de extensão que não aloca memória adicional.