c# – StringBuilder的Append(string …)函数的返回值的用法是什么?

StringBuilder的Append(string s)函数(和类似函数)的完整语法是

StringBuilder myStringBuilder.Append(string myString)

因为myStringBuilder.Append(string myString)已经将字符串添加到myStringBuilder,我想知道返回值是什么?
我从来没有见过任何使用返回值的示例代码。

根据msdn,它不返回一个新的StringBuilder实例,而是一个对当前构建器本身(即myStringBuilder)的引用。
我只是不能想到一个场景,当使用返回值有意义,为什么他们不使返回类型void?

这意味着您可以轻松地将呼叫链接在一起:

sb.Append("Foo=").Append(foo).Append("&Bar=").Append(bar);

…而不是使用几个单独的语句:

sb.Append("Foo=");
sb.Append(foo);
sb.Append("&Bar=");
sb.Append(bar);

事实上,它是一个单一的表达式,这意味着你也可以使用它的地方,你只限于一个单一的表达式,例如。字段初始化或返回语句。后者意味着你也可以使用它为表达式成员:

public override string ToString() =>
    new StringBuilder("x").Append(...).Append(...).ToString();

(在许多情况下使用string.Format或插入字符串字面量会更有意义,但有时StringBuilder是向前的方式…)

翻译自:https://stackoverflow.com/questions/35406381/what-is-the-use-of-the-return-value-of-the-stringbuilder-appendstring-funct

转载注明原文:c# – StringBuilder的Append(string …)函数的返回值的用法是什么?