Phương thức StartsWith() trong C# được sử dụng để xác định xem chuỗi hiện tại có bắt đầu bằng chuỗi được chỉ định hay không. Phương thức này trả về giá trị boolean (true hoặc false).
Cú pháp
public bool StartsWith(string value);
Tham số value là chuỗi cần so sánh với phần đầu của chuỗi hiện tại.
Ví dụ 1: Kiểm tra ký tự đầu tiên
using System;
public class Demo
{
public static void Main()
{
string str = "JohnAndJacob";
Console.WriteLine("Chuỗi = " + str);
Console.WriteLine("Chuỗi có bắt đầu bằng 'J'? = " + str.StartsWith("J"));
// Ví dụ bổ sung: CopyTo để copy một phần chuỗi
char[] destArr = new char[20];
str.CopyTo(1, destArr, 0, 4);
Console.Write(destArr); // Xuất: ohnA
}
}
Kết quả
Chuỗi = JohnAndJacob Chuỗi có bắt đầu bằng 'J'? = True ohnA
Ví dụ 2: So sánh nhiều chuỗi với HashCode
using System;
public class Demo
{
public static void Main(string[] args)
{
string str1 = "Akon";
string str2 = "Eminem";
Console.WriteLine("Chuỗi 1 = " + str1);
Console.WriteLine("Mã băm của Chuỗi 1 = " + str1.GetHashCode());
Console.WriteLine("Chuỗi 1 có bắt đầu bằng 'E'? = " + str1.StartsWith("E"));
Console.WriteLine("\nChuỗi 2 = " + str2);
Console.WriteLine("Mã băm của Chuỗi 2 = " + str2.GetHashCode());
Console.WriteLine("Chuỗi 2 có bắt đầu bằng 'E'? = " + str2.StartsWith("E"));
Console.WriteLine("\nChuỗi 1 có bằng Chuỗi 2? = {0}", str1.Equals(str2));
}
}
Kết quả
Chuỗi 1 = Akon Mã băm của Chuỗi 1 = 416613838 Chuỗi 1 có bắt đầu bằng 'E'? = False Chuỗi 2 = Eminem Mã băm của Chuỗi 2 = 40371907 Chuỗi 2 có bắt đầu bằng 'E'? = True Chuỗi 1 có bằng Chuỗi 2? = False
Các nạp chồng khác của StartsWith()
C# cung cấp các nạp chồng bổ sung cho phép kiểm tra không phân biệt chữ hoa/thường và sử dụng quy tắc so sánh văn hóa cụ thể:
StartsWith(string value, StringComparison comparisonType)StartsWith(string value, bool ignoreCase, CultureInfo culture)
Ví dụ: Không phân biệt chữ hoa/thường
string text = "Hello World";
bool result = text.StartsWith("hello", StringComparison.OrdinalIgnoreCase);
// result = true
Lưu ý
- Phương thức phân biệt chữ hoa/thường theo mặc định.
- Trả về
truenếuvaluelà chuỗi rỗng (""). - Ném ngoại lệ
ArgumentNullExceptionnếuvaluelànull.