C#에서 두 개의 String(문자열) 객체가 서로 같은 값을 가지고 있는지 확인하려면 Equals() 메서드를 사용하면 됩니다. 이 메서드는 두 문자열의 내용을 비교하여 값이 일치하면 true, 일치하지 않으면 false를 반환합니다.
참고로, Equals() 메서드는 대소문자를 구분합니다. 예를 들어 "John"과 "john"은 다른 값으로 판별됩니다.
예제 1
두 개의 동일한 값을 가진 문자열을 비교해 보겠습니다.
using System;
public class Demo {
public static void Main(String[] args){
string str1 = "John";
string str2 = "John";
Console.WriteLine("String 1 = "+str1);
Console.WriteLine("String 2 = "+str2);
Console.WriteLine("String 1 is equal to String 2: {0}", str1.Equals(str2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
String 1 = John String 2 = John String 1 is equal to String 2: True
두 문자열이 모두 "John"이므로 Equals() 메서드의 비교 결과로 True가 반환된 것을 확인할 수 있습니다.
예제 2
이번에는 서로 다른 값을 가진 문자열을 비교해 보겠습니다.
using System;
public class Demo {
public static void Main(String[] args){
string str1 = "Tom";
string str2 = "Kevin";
Console.WriteLine("String 1 = "+str1);
Console.WriteLine("String 2 = "+str2);
Console.WriteLine("String 1 is equal to String 2: {0}", str1.Equals(str2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
String 1 = Tom String 2 = Kevin String 1 is equal to String 2: False
"Tom"과 "Kevin"은 서로 다른 문자열이므로 비교 결과 False가 반환됩니다.
추가 팁: == 연산자 사용하기
C#에서는 Equals() 메서드 외에도 == 연산자를 사용하여 두 문자열의 값을 비교할 수 있습니다. C#에서 == 연산자는 참조가 아닌 문자열의 실제 내용을 비교하도록 오버로드되어 있기 때문에, 일반적인 경우 Equals()와 동일한 결과를 제공합니다.
Console.WriteLine(str1 == str2); // str1.Equals(str2)와 동일한 결과
다만 null 값이 포함될 가능성이 있다면 == 연산자가 더 안전하게 처리해 주므로 상황에 맞게 선택하여 사용하시기 바랍니다.