gpt4 book ai didi

c# - InvariantCulture 和 Ordinal 字符串比较的区别

转载 作者:IT王子 更新时间:2023-10-29 03:27:23 25 4
gpt4 key购买 nike

在c#中比较两个字符串是否相等时,InvariantCulture 和 Ordinal 比较有什么区别?

最佳答案

不变文化

使用一组“标准”字符顺序(a、b、c、...等)。这与某些特定的语言环境形成对比,这些语言环境可能以不同的顺序对字符进行排序('a-with-acute' 可能在 之前或 在 'a' 之后,具体取决于语言环境等)。

序数

另一方面,纯粹查看表示字符的原始字节的值。


http://msdn.microsoft.com/en-us/library/e6883c06.aspx 上有一个很好的示例显示各种 StringComparison 值的结果。一路到最后,显示(节选):

StringComparison.InvariantCulture:
LATIN SMALL LETTER I (U+0069) is less than LATIN SMALL LETTER DOTLESS I (U+0131)
LATIN SMALL LETTER I (U+0069) is less than LATIN CAPITAL LETTER I (U+0049)
LATIN SMALL LETTER DOTLESS I (U+0131) is greater than LATIN CAPITAL LETTER I (U+0049)

StringComparison.Ordinal:
LATIN SMALL LETTER I (U+0069) is less than LATIN SMALL LETTER DOTLESS I (U+0131)
LATIN SMALL LETTER I (U+0069) is greater than LATIN CAPITAL LETTER I (U+0049)
LATIN SMALL LETTER DOTLESS I (U+0131) is greater than LATIN CAPITAL LETTER I (U+0049)

您可以看到 InvariantCulture 产生 (U+0069, U+0049, U+00131),Ordinal 产生 (U+0049, U+0069, U+00131)。

关于c# - InvariantCulture 和 Ordinal 字符串比较的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/492799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com