首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InvariantCulture与序数串比较的差异

InvariantCulture与序数串比较的差异
EN

Stack Overflow用户
提问于 2009-01-29 18:21:45
回答 9查看 161.8K关注 0票数 633

当在c#中比较两个字符串是否相等时,InvariantCulture和顺序比较有什么不同?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-01-29 18:44:33

InvariantCulture

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

序数

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

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

代码语言:javascript
复制
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),顺序收益率(U+0049,U+0069,U+00131)。

票数 338
EN

Stack Overflow用户

发布于 2013-11-20 08:40:50

例如,它确实很重要--有一种叫做字符扩展的东西

代码语言:javascript
复制
var s1 = "Strasse";
var s2 = "Straße";

s1.Equals(s2, StringComparison.Ordinal);           //false
s1.Equals(s2, StringComparison.InvariantCulture);  //true

使用InvariantCulture时,«字符将扩展为ss。

票数 320
EN

Stack Overflow用户

发布于 2014-02-25 18:48:40

指向Best Practices for Using Strings in the .NET Framework

  • StringComparison.OrdinalStringComparison.OrdinalIgnoreCase用于比较,作为与区域性无关的字符串匹配的安全默认值。当比较在语言上不相关(例如,符号)时,
  • 使用与StringComparison.OrdinalStringComparison.OrdinalIgnoreCase的比较,以便更好地对非语言StringComparison.Ordinal或D12值进行比较,而不是基于CultureInfo.InvariantCulture的字符串操作。

最后:

在大多数情况下,

  • Do不使用基于StringComparison.InvariantCulture 的字符串操作。为数不多的例外之一是当你持久化语言上有意义但文化上不可知的数据时。
票数 135
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/492799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档