当使用StringComparer.OrdinalignoreCase
和StringComparer.InvariantCultureIgnoreCase
时,我试图获得字符串比较结果之间的关系。更确切地说,我想知道以下四种说法中哪一种是正确的:
a == b using StringComparer.OrdinalIgnoreCase
,然后是a == b using StringComparer.InvariantCultureIgnoreCase
a != b using StringComparer.OrdinalIgnoreCase
,然后a != b using StringComparer.InvariantCultureIgnoreCase
a == b using StringComparer.InvariantCultureIgnoreCase
,然后a == b using StringComparer.OrdinalIgnoreCase
a != b using StringComparer.InvariantCultureIgnoreCase
,然后a != b using StringComparer.OrdinalIgnoreCase
到目前为止,我知道第3条语句不是真的,因为这个问题中的一个注释中有a = STRASSE
和b = Straße
的例子。
理想情况下,我想解释一下为什么一句话是真的,或者举一个不真实的例子。
有序排序和不变排序之间的区别是非语言排序和语言排序之间的差异。
理论上,1应该是真的(如果你不忽略大小写的话),但当你使用非语言大小写和语言大小写时,大小写规则是不同的。其余的都是假的。