Я заметил эту странную проблему. Проверьте это вьетнамский (согласно Google Translate) строка:
string line = "Mìng-dĕ̤ng-ngṳ̄";
string sub = "Mìng-dĕ̤ng-ngṳ";
line.Length
15
sub.Length
14
line.StartsWith(sub)
false
Мне кажется, что результат неправильный. Итак, я выполнил свою собственную функцию StartWith, которая сравнивает строку char -by- char.
public bool CustomStartWith(string parent, string child)
{
for (int i = 0; i < child.Length; i++)
{
if (parent[i] != child[i])
return false;
}
return true;
}
И, как я думаю, результаты выполнения этой функции
CustomStartWith("Mìng-dĕ̤ng-ngṳ̄", "Mìng-dĕ̤ng-ngṳ")
true
Что здесь происходит?! Как это возможно?