StringComparison 枚举的选项

发布于 2025-01-08 17:41:01 字数 470 浏览 0 评论 0原文

我对 StringComparison Enumeration 的选项感到困惑。我只想比较两个字符串,忽略大小写。有人可以解释一下当前文化不变文化序数是什么意思吗?是否有大多数用例通用的选项?如果有,在什么情况下需要其他选项?

作为参考,StringComparison 枚举的选项如下:

  • CurrentCulture
  • CurrentCultureIgnoreCase
  • InvariantCulture
  • InvariantCultureIgnoreCase
  • Ordinal
  • OrdinalIgnoreCase

I'm confused by the options of the StringComparison Enumeration. I just want to compare two strings ignoring case. Can someone explain what the terms current culture, invariant culture and ordinal mean? Is there an option common to most use cases, and if so, under what circumstances would the other options be needed?

For reference, the options of the StringComparison enum is as follows:

  • CurrentCulture
  • CurrentCultureIgnoreCase
  • InvariantCulture
  • InvariantCultureIgnoreCase
  • Ordinal
  • OrdinalIgnoreCase

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

佞臣 2025-01-15 17:41:01

如果您比较两个字符串是否相等,那么区域性设置不会产生太大差异(尽管它会影响土耳其语,例如土耳其语,它有点和不带点的 i)。

如果您要对字符串列表进行排序,则会有很大的不同;不同的文化通常按不同的顺序排序。

CurrentCulture 根据当前区域性(即当前区域设置)对字符串进行排序。因此,这会根据软件的运行位置而变化。

InvariantCulture 基本上是美国英语设置。它是不变的,因为无论您的软件在哪里运行,它都是相同的。

序数比较基于 Unicode 代码点的值。这通常是比较相等性的最佳选择,但如果您要对字符串列表进行排序以显示给用户,则不是一个好的选择。

If you are comparing two strings for equality then the culture settings don't make much difference (though it affects, for example, Turkish, which has dotted and undotted i's).

If you are sorting a list of strings there's a big difference; different cultures often sort in different orders.

CurrentCulture sorts strings according to, erm, the current culture (i.e. the current locale). So this changes depending on where your software is run.

InvariantCulture is basically US English settings. It's invariant because it's the same wherever your software runs.

Ordinal comparisons are based on the values of the Unicode code points. This is usually the best choice for comparing equality, but not a good choice if you are sorting a list of strings to display to the user.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文