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 옵션을 함께 사용하는 것이 좋습니다.