StringComparison,为什么"TH"不是以"T"开头

kie*_*ham 4 .net c# vb.net string-comparison

我正在使用StringComparison,"vi-VN"文化; 为什么比较字符串"TH""Th".StartsWith("T", StringComparison.CurrentCulture)返回false

Rob*_*Rob 7

Th是越南人的一个字素.它是一个单独的文本单元,而不是两个单位的文本,因为它将是英文.因此,Th不是从T它开始,因为它是它自己的独特角色.

您需要使用区分Th字母T和文字的文化h.例如:

"Th".StartsWith("T", StringComparison.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

  • 一小部分背景细节:在中古英语中,有一封名为[Thorn,(Þ,þ)](https://en.wikipedia.org/wiki/Thorn_(letter))的字母,其中,现代英语,就像'the'中的'th'.有一段时间,它通常写得更像(Ƿ,ƿ),早期的打印机会替换(Y,y) - 导致'ye','the',但仍然是'the',因为每个人都从上下文中知道y不是真的,而是荆棘.这里吸取了教训. (2认同)