C#의 StartsWith() 메서드는 문자열 인스턴스가 지정된 문자열로 시작하는지 여부를 판별하는 데 사용됩니다. 이 메서드는 대소문자를 구분하며, 조건에 맞으면 true, 그렇지 않으면 false를 반환합니다.
구문
public bool StartsWith (string val);
여기서 매개변수 val은 비교할 문자열을 나타냅니다.
예제 1
다음 예제는 문자열이 특정 문자로 시작하는지 확인하고, CopyTo() 메서드를 활용해 문자열의 일부를 복사하는 과정을 보여줍니다.
using System;
public class Demo {
public static void Main() {
string str = "JohnAndJacob";
Console.WriteLine("String = "+str);
Console.WriteLine("Does String begins with J? = "+str.StartsWith("J"));
char[] destArr = new char[20];
str.CopyTo(1, destArr, 0, 4);
Console.Write(destArr);
}
}
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
String = JohnAndJacob Does String begins with J? = True ohnA
문자열 "JohnAndJacob"은 'J'로 시작하므로 StartsWith("J")는 True를 반환한 것을 확인할 수 있습니다.
예제 2
이번에는 두 개의 서로 다른 문자열을 비교하여 각각의 시작 문자가 일치하는지 확인하는 예제를 살펴보겠습니다.
using System;
public class Demo {
public static void Main(String[] args) {
string str1 = "Akon";
string str2 = "Eminem";
Console.WriteLine("String 1 = "+str1);
Console.WriteLine("HashCode of String 1 = "+str1.GetHashCode());
Console.WriteLine("Does String1 begins with E? = "+str1.StartsWith("E"));
Console.WriteLine("\nString 2 = "+str2);
Console.WriteLine("HashCode of String 2 = "+str2.GetHashCode());
Console.WriteLine("Does String2 begins with E? = "+str2.StartsWith("E"));
Console.WriteLine("\nString 1 is equal to String 2? = {0}", str1.Equals(str2));
}
}
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
String 1 = Akon HashCode of String 1 = 416613838 Does String1 begins with E? = False String 2 = Eminem HashCode of String 2 = 40371907 Does String2 begins with E? = True String 1 is equal to String 2? = False
실행 결과에서 알 수 있듯이, "Akon"은 'E'로 시작하지 않아 False가 반환되고, "Eminem"은 'E'로 시작하므로 True가 반환됩니다. 또한 Equals() 메서드를 통해 두 문자열이 서로 다르다는 것도 확인할 수 있습니다.