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.

更新于: 22-6 月-2020

3K+ 浏览量

职业起飞

完成课程获得认证

立即开始
广告
© . All rights reserved.