Ich versuche, eine Zeichenfolge mit dem Prime-Symbol darin zu verwenden, aber ich habe einige Probleme mit der String.StartsWith Methode. Warum wirft der folgende Code die Ausnahme?String.StartsWith funktioniert nicht, wenn das nächste Zeichen das Prime-Symbol (char) ist 697
string text_1 = @"123456";
string text_2 = @"ʹABCDEF";
string fullText = text_1 + text_2;
if (!fullText.StartsWith(text_1))
{
throw new Exception("Unexplained bad error.");
}
Ich vermute, dass das Problem ist, weil dieses Prime Symbol (char) 697 als Akzent behandelt wird und so wird den Brief, bevor es zu ändern. (Ich denke nicht, dass es sein sollte - es sollte die the prime symbol sein und sollte daher nicht die numerischen Zahlen davor ändern). Ich weiß nicht genau, wie ich das testen soll. Ich habe versucht, das Verfahren in this answer vorgeschlagen, aber es ergab falsch:
IsLetterWithDiacritics(text_1[5]) // == False
IsLetterWithDiacritics(fullText[5]) // == False
IsLetterWithDiacritics(fullText[6]) // == False
Vielen Dank für jede Hilfe.
Haben Sie versucht, die Überladung zu verwenden, die einen 'StringComparison'-Typ verwendet und ihm gesagt hat, dass er' InvariantCulture' oder 'Ordinal' verwenden soll? –
@BradleyUffner Das wird nicht funktionieren, aber 'fullText.StartsWith (text_1, StringComparison.Ordinal)' funktioniert. – DavidG