ä
和 ae
是不同的(这很有意义),但是 ß
和 ss
被视为相等。即使在这个问题中似乎有关联,并且甚至提到"在德国,或类似地区,ß
会与SS
相等" ,但我在SO上没有找到答案。
我找到的唯一MSDN资源是这个:如何:比较字符串
这里提到了以下内容,但也缺少了为什么:
// "They dance in the street."
// Linguistically (in Windows), "ss" is equal to
// the German essetz: 'ß' character in both en-US and de-DE cultures.
.....
那么为什么无论是使用 de-DE
的区域设置还是其他任何区域设置,以下代码都会计算为 true
呢:
var ci = new CultureInfo("de-DE");
int result = ci.CompareInfo.Compare("strasse", "straße", CompareOptions.IgnoreNonSpace); // 0
bool equals = String.Equals("strasse", "straße", StringComparison.CurrentCulture); // true
equals = String.Equals("strasse", "straße", StringComparison.InvariantCulture); // true
SortedList
是不可能的呢? - Tim Schmelter