Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Equals 메서드로 두 StringBuilder 내용 비교하는 방법

C#에서 두 StringBuilder 객체의 내용을 비교하려면 Equals 메서드를 사용하면 됩니다. 이 메서드는 두 StringBuilder가 담고 있는 문자열이 서로 같은지 여부를 판단하여 불리언 값으로 반환합니다.

비교할 두 개의 StringBuilder 준비

먼저 비교 대상이 될 두 개의 StringBuilder를 생성하고 각각 문자열을 추가합니다.

// 첫 번째 StringBuilder
StringBuilder str1 = new StringBuilder();
str1.Append("Tim");
str1.Append("Tom");
str1.Append("Henry");

// 두 번째 StringBuilder
StringBuilder str2 = new StringBuilder();
str2.Append("John");
str2.Append("David");
str2.Append("Beth");

Equals() 메서드로 비교하기

이제 Equals() 메서드를 호출하여 두 객체의 내용이 같은지 확인할 수 있습니다.

if (str1.Equals(str2)) {
   Console.WriteLine("내용이 같습니다!");
}

다음은 위 과정 전체를 포함한 완성된 코드입니다.

예제

using System;
using System.Text;

class Demo {
   static void Main() {
      // 첫 번째 StringBuilder
      StringBuilder str1 = new StringBuilder();
      str1.Append("Tim");
      str1.Append("Tom");
      str1.Append("Henry");

      // 두 번째 StringBuilder
      StringBuilder str2 = new StringBuilder();
      str2.Append("John");
      str2.Append("David");
      str2.Append("Beth");

      // 동일 여부 확인
      if (str1.Equals(str2)) {
         Console.WriteLine("내용이 같습니다!");
      } else {
         Console.WriteLine("내용이 다릅니다!");
      }
   }
}

실행 결과

내용이 다릅니다!

두 StringBuilder에 저장된 문자열이 서로 다르기 때문에 "내용이 다릅니다!"가 출력됩니다.

참고 사항

StringBuilder.Equals(StringBuilder) 메서드는 단순히 문자열 값만 비교하지 않는다는 점에 유의해야 합니다. 이 메서드는 두 인스턴스의 문자열 값, 용량(Capacity), 그리고 최대 용량(MaxCapacity)을 모두 비교합니다. 따라서 문자열 내용이 같더라도 용량이 다르면 false를 반환할 수 있습니다.

순수하게 문자열 내용만 비교하고 싶다면 ToString() 메서드로 변환한 후 일반적인 문자열 비교를 수행하는 것이 더 안전한 방법입니다.