Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

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은 한 번 생성되면 변경할 수 없습니다. 메모리에 새로운 객체를 생성하지 않습니다.

문자열 설정 -

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.