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

可变字符串

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.