我正在阅读Jeffrey Richter的CLR VIA C#
。在解释字符串比较时,他指出:
当Compare方法未执行序数比较时,它会 执行 字符扩展 。字符扩展是指 不论文化如何,字符都会扩展为多个字符。
String s1 = "Strasse";
String s2 = "Straße";
Boolean eq;
CultureInfo ci = new CultureInfo("de-DE");
eq = String.Compare(s1, s2, true, ci) == 0; // returns true
对于上述情况,他指出:
...德语Eszet字符“ß”始终扩展为 的。因此,在代码示例中,对Compare的调用将始终 不管我实际传入哪种文化,都返回0。
我想知道运行时从哪个来源得出ß
等于ss
还是它是如何计算的?