using System;
namespace demoapp
{
class StringClass
{
public static void main(String[] {
string val = "Hello";
//creates a new instance of the string
val += "World";
Console.WriteLine(val);
}
}
}
using System;
using System.Text;
namespace demoapp
{
class StringClass
{
public static void main(String[] {
StringBuilder val = new StringBuilder("Hello");
val.Append("World");
Console.WriteLine(val);
}
}
}
字符串是不可变的对象。当我们必须执行一些操作来更改字符串或附加新字符串时,它会清除字符串对象的旧值,并在内存中创建一个新实例以将新值保存在字符串对象中。例如,它使用 System.String 类。
StringBuilder 是一个可变对象,这意味着它每次都会为添加字符串(追加),替换字符串(替换)等操作创建一个新实例。它仅将旧对象用于对字符串执行的任何操作,从而提高性能。例如,它使用 System.Text.StringBuilder 类。
两个程序的输出都是一样的,“Hello World”。