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

C# 문자열 연산자 완벽 정리: 동등(==)·비동등(!=) 연산자로 문자열 비교하기

C#에서 문자열을 비교할 때 사용하는 연산자는 크게 두 가지입니다. 바로 동등 연산자(==)비동등 연산자(!=)입니다. 이 연산자들은 두 문자열의 내용이 서로 같은지, 혹은 다른지를 판별하는 데 사용됩니다.

동등 연산자(==)

동등 연산자는 두 문자열의 값이 완전히 일치하는지 확인합니다. 아래 예제를 통해 실제 동작 방식을 살펴보겠습니다.

using System;
public class Demo {
    public static void Main() {
        string str1 = "Amit";
        string str2 = " ";
        Console.WriteLine("string1이 null 또는 빈 문자열인가요? = " + string.IsNullOrEmpty(str1));
        Console.WriteLine("string2가 null 또는 빈 문자열인가요? = " + string.IsNullOrEmpty(str2));
        Console.WriteLine("string1과 str2가 같은가요? = " + (str1 == str2));
    }
}

실행 결과

string1이 null 또는 빈 문자열인가요? = False
string2가 null 또는 빈 문자열인가요? = False
string1과 str2가 같은가요? = False

주의: 문자열 비교 결과를 콘솔에 출력할 때는 반드시 괄호를 사용해야 합니다. 괄호 없이 +str1 == str2처럼 작성하면 문자열 연결(+ 연산자)이 먼저 평가되어 의도와 전혀 다른 결과가 출력될 수 있습니다.

비동등 연산자(!=)

비동등 연산자는 두 문자열의 값이 서로 다른지를 확인합니다. 이번에는 동일한 문자열 두 개를 비교해 보겠습니다.

using System;
public class Demo {
    public static void Main() {
        string str1 = "abcdef";
        string str2 = "abcdef";
        Console.WriteLine("string1이 null 또는 빈 문자열인가요? = " + string.IsNullOrEmpty(str1));
        Console.WriteLine("string2가 null 또는 빈 문자열인가요? = " + string.IsNullOrEmpty(str2));
        bool val = str1 != str2;
        Console.WriteLine("str1과 str2가 다른가요? = " + val);
    }
}

실행 결과

string1이 null 또는 빈 문자열인가요? = False
string2가 null 또는 빈 문자열인가요? = False
str1과 str2가 다른가요? = False

두 문자열의 내용이 완전히 동일하므로, 비동등 연산자(!=)의 결과는 False가 됩니다.

정리

C#에서 ==!= 연산자는 문자열 객체의 참조가 아닌 실제 내용(값)을 기준으로 비교합니다. 따라서 별도의 메서드 호출 없이 간편하게 문자열을 비교할 수 있으며, 필요에 따라 string.Equals() 메서드나 StringComparison 옵션을 활용하면 대소문자 무시 비교 등 더 세밀한 제어도 가능합니다.