เมธอด StartsWith() ใน C# ใช้สำหรับตรวจสอบว่าสตริง instance นั้นเริ่มต้นด้วยสตริงที่ระบุหรือไม่ โดยจะคืนค่า true หากตรงกัน และ false หากไม่ตรง
รูปแบบไวยากรณ์ (Syntax)
public bool StartsWith(string val);
val คือสตริงที่ต้องการนำมาเปรียบเทียบกับจุดเริ่มต้นของสตริงต้นฉบับ
ตัวอย่างที่ 1: การตรวจสอบพื้นฐาน
using System;
public class Demo
{
public static void Main()
{
string str = "JohnAndJacob";
Console.WriteLine("String = " + str);
Console.WriteLine("Does String begin with 'J'? = " + str.StartsWith("J"));
// ตัวอย่างเพิ่มเติม: CopyTo() คัดลอกตัวอักษรไปยัง char array
char[] destArr = new char[20];
str.CopyTo(1, destArr, 0, 4);
Console.Write(destArr); // แสดงผล "ohnA"
}
}
ผลลัพธ์
String = JohnAndJacob Does String begin with J? = True ohnA
ตัวอย่างที่ 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 begin with 'E'? = " + str1.StartsWith("E"));
Console.WriteLine("\nString 2 = " + str2);
Console.WriteLine("HashCode of String 2 = " + str2.GetHashCode());
Console.WriteLine("Does String2 begin with 'E'? = " + str2.StartsWith("E"));
Console.WriteLine("\nString 1 equals String 2? = {0}", str1.Equals(str2));
}
}
ผลลัพธ์
String 1 = Akon HashCode of String 1 = 416613838 Does String1 begin with E? = False String 2 = Eminem HashCode of String 2 = 40371907 Does String2 begin with E? = True String 1 is equal to String 2? = False
หมายเหตุเพิ่มเติม
StartsWith()คิดความแตกต่างของตัวพิมพ์เล็ก-ใหญ่ (Case-sensitive) โดยค่าเริ่มต้น- สามารถระบุ
StringComparisonเพื่อเปลี่ยนพฤติกรรมการเปรียบเทียบได้ เช่นStringComparison.OrdinalIgnoreCase - มี overload อื่นๆ ที่รองรับ
CultureInfoสำหรับการเปรียบเทียบตามวัฒนธรรม