StringComparer.OrdinalignoreCase与StringComparer.InvariantCultureIgnoreCase之间的关系

时间:2014-10-21 00:01:05

标签: .net string localization cultureinfo invariantculture

我在尝试使用StringComparer.OrdinalignoreCaseStringComparer.InvariantCultureIgnoreCase时获取字符串比较结果之间的关系。更准确地说,我想知道以下四个陈述中哪一个是正确的:

  1. a == b using StringComparer.OrdinalIgnoreCase,然后是a == b using StringComparer.InvariantCultureIgnoreCase
  2. a != b using StringComparer.OrdinalIgnoreCase,然后是a != b using StringComparer.InvariantCultureIgnoreCase
  3. a == b using StringComparer.InvariantCultureIgnoreCase,然后是a == b using StringComparer.OrdinalIgnoreCase
  4. a != b using StringComparer.InvariantCultureIgnoreCase,然后是a != b using StringComparer.OrdinalIgnoreCase
  5. 到目前为止,我知道第3号陈述不正确,因为this问题中的评论a = STRASSEb = Straße为例。

    理想情况下,我想解释为什么一个陈述是真的,或者一个例子,当它不是真的时。

1 个答案:

答案 0 :(得分:0)

序数和不变校对之间的差异是非语言和语言校对之间的差异。

理论上1应该是真的(如果你不忽略大小写),但是当你使用非语言套管和语言套管时套管规则是不同的。其余的都是假的。