Sto tentando di utilizzare una stringa con il simbolo Prime, ma sto riscontrando alcuni problemi con il metodo String.StartsWith. Perché il seguente codice lancia l'eccezione?String.StartsWith not Working quando il carattere successivo è il simbolo Prime (char) 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.");
}
ho il sospetto che il problema è dovuto al fatto questo simbolo Prime (char) 697 viene trattato come un accento, e così sta cambiando la lettera prima di esso. (Non penso che dovrebbe essere - dovrebbe essere il the prime symbol e quindi non dovrebbe essere cambiare i numeri numerici di fronte ad esso). Non sono esattamente sicuro di come testarlo. Ho provato il metodo proposto in this answer ma tornato falsa:
IsLetterWithDiacritics(text_1[5]) // == False
IsLetterWithDiacritics(fullText[5]) // == False
IsLetterWithDiacritics(fullText[6]) // == False
Grazie per qualsiasi aiuto.
Hai provato a utilizzare il sovraccarico che accetta un tipo 'StringComparison' e dice di utilizzare' InvariantCulture' o 'Ordinal'? –
@BradleyUffner Questo non funzionerà, ma 'fullText.StartsWith (text_1, StringComparison.Ordinal)' funzionerà. – DavidG