Unity C#随笔:简述String和StringBuilder的区别

1.、String:

  • 不可变性(Immutability): String对象一旦被创建,就不能被修改。每次对String对象进行操作时,实际上是创建了一个新的String对象,然后对象的引用重新指向这个新的对象。
  • 性能: 对于频繁的字符串拼接或修改操作,使用String可能会导致大量的临时对象,影响性能。
string str = "Hello";
str = str + " World"; // 相当于创建了一个新的String常量对象"World",然后让str指向它

2、StringBuilder:

  • 可变性(Mutable): StringBuilder对象是可变的,可以进行动态的字符串操作,而不会创建新的对象。
  • 性能: 适合频繁的字符串拼接和修改操作,因为它的操作不会创建大量的临时对象,性能较好。
StringBuilder sb = new StringBuilder("Hello");
sb.Append(" World"); // 不会创建新的对象,直接修改StringBuilder

你可能感兴趣的:(#,Unity,面试,c#)