为什么不存在字符串生成器?

Mar*_*las 2 language-agnostic string

我有点理解String Builder类的动机,但是所有语言都有一个吗?他们应该吗?我正在考虑PHP,Perl,Python和Ruby.我知道C#和Java.如果其他人不这样做,为什么不呢?他们没有遭受同样的实施问题吗?或者他们不关心?

Jam*_*ran 7

并非所有语言都有字符串构建器.

例如,C甚至没有字符串.

在C++中,std :: strings是可变的 - 它们可以被更改,因此不需要单独的字符串构建器类.

在C#(和.NET的其余部分)中,字符串是不可变的 - 它们不能被更改,只能被替换.这导致了导致需要StringBuilder的问题.

从技术上讲,.NET字符串是假装为值类型的引用类型.这样做是为了使它们更像原生类型(int,float,decimal).