C# 中可变字符串和不可变字符串有什么区别?

csharpprogrammingserver side programming更新于 2025/10/13 9:22:17

可变字符串

StringBuilder 是 C# 中的可变字符串。使用 StringBuilder,您可以扩展字符串中的字符数。字符串一旦创建就无法更改,但 StringBuilder 可以扩展。它不会在内存中创建新的对象。

设置 StringBuilder 的 −

StringBuilder str = new StringBuilder();

让我们通过一个示例来学习如何在 C# 中使用 StringBuilder −

示例

using System;
using System.Text;

public class Program {
   public static void Main() {
      StringBuilder str = new StringBuilder("Web World!!",30);
      str.Replace("World", "Arena");

      Console.WriteLine(str);
   }
}

输出

Web Arena!!

不可变字符串

不可变字符串是 C# 中的字符串。每次都会创建一个新的内存。与 StringBuilde 不同,字符串一旦创建就无法更改。它不会在内存中创建新的对象。

设置字符串 −

String str = “tim”;

以下是一个字符串示例,我们正在比较两个字符串 −

示例

using System;

namespace StringApplication {

   class StringProg {

      static void Main(string[] args) {
         string str1 = "Steve";
         string str2 = "Ben";

         if (String.Compare(str1, str2) == 0) {
            Console.WriteLine(str1 + " and " + str2 + " are equal strings.");
         } else {
            Console.WriteLine(str1 + " and " + str2 + " are not equal strings.");
         }
         Console.ReadKey() ;
      }
   }
}

输出

Steve and Ben are not equal strings.

相关文章