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

C#에서 문자열 초기화하고 비교하는 방법 완벽 가이드

C#에서 문자열을 초기화하는 것은 매우 간단한 작업입니다. 예를 들어 이름을 저장하고 싶다면 다음과 같이 문자열 변수를 선언하고 값을 할당하면 됩니다.

string str = "Hello, World!";

문자열 초기화 방법

문자열은 큰따옴표(")로 감싼 리터럴 값을 사용하거나, new 키워드를 통해 생성할 수도 있습니다. 가장 일반적인 방법은 문자열 리터럴을 직접 할당하는 것입니다.

string name = "Amit";
string greeting = new string('H', 5); // "HHHHH"

C#에서 문자열 비교하기

두 문자열을 비교할 때는 C#의 String.Compare 메서드를 사용합니다. 이 메서드의 기본 형태는 다음과 같습니다.

public static int Compare(string str1, string str2)

두 문자열이 같은지 확인하려면 반환값이 0인지 검사하면 됩니다.

String.Compare(str1, str2) == 0

위 조건식의 결과가 참(0)이라면 두 문자열은 동일한 것입니다.

Compare 메서드의 반환값 의미

  • 0: 두 문자열이 완전히 동일함
  • 음수: 첫 번째 문자열(str1)이 정렬 순서상 앞에 위치함
  • 양수: 첫 번째 문자열(str1)이 정렬 순서상 뒤에 위치함

즉, String.Compare 메서드는 지정된 두 문자열 객체를 비교하여 사전식 정렬 순서에서의 상대적 위치를 나타내는 정수를 반환합니다.

문자열 비교 예제

다음은 하나의 문자열을 다른 문자열과 비교하는 전체 예제 코드입니다.

using System;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            string str1 = "John";
            string str2 = "Andy";
            
            if (String.Compare(str1, str2) == 0) {
                Console.WriteLine(str1 + "와 " + str2 + "는 같은 문자열입니다.");
            } else {
                Console.WriteLine(str1 + "와 " + str2 + "는 다른 문자열입니다.");
            }
            
            Console.ReadKey();
        }
    }
}

실행 결과

John와 Andy는 다른 문자열입니다.

추가 팁: Equals 메서드 활용

단순히 두 문자열이 같은지만 확인하고 싶다면 String.Equals 메서드나 == 연산자를 사용하는 것이 더 직관적입니다.

if (str1.Equals(str2)) {
    // 두 문자열이 같은 경우
}

if (str1 == str2) {
    // 두 문자열이 같은 경우
}

반면 대소문자 구분 없이 비교하거나 문화권(culture)별 규칙을 적용해야 한다면 String.Compare 또는 StringComparison 옵션을 함께 사용하는 것이 좋습니다.