有两种联接多个字符串的方法:使用 String 类重载的 + 运算符,以及使用 StringBuilder 类。+ 运算符使用方便,有助于生成直观的代码,但必须连续使用;每使用一次该运算符就创建一个新的字符串,因此将多个运算符串联在一起效率不高。例如:

C# CopyCode image复制代码
string two = "two";
string str = "one " + two + " three";
System.Console.WriteLine(str);

尽管在代码中只出现了四个字符串,三个字符串联接在一起,最后一个字符串包含全部三个字符串,但总共要创建五个字符串,因为首先要将前两个字符串联接,创建一个包含前两个字符串的字符串。第三个字符串是单独追加的,形成存储在 str 中的最终字符串。

也可以使用 StringBuilder 类将每个字符串添加到一个对象中,然后由该对象通过一个步骤创建最终的字符串。下面的示例对此策略进行了演示。

示例

下面的代码使用 StringBuilder 类的 Append 方法来联接三个字符串,从而避免了串联多个 + 运算符的弊端。

C# CopyCode image复制代码
class StringBuilderTest
{
    static void Main()
    {
        string two = "two";

        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        sb.Append("one ");
        sb.Append(two);
        sb.Append(" three");
        System.Console.WriteLine(sb.ToString());

        string str = sb.ToString();
        System.Console.WriteLine(str);
    }
}

请参见