一般情况下,哪个最适合使用-StringCompison.EveralIgnoreCase或StringCompison.InariantCultureIgnoreCase?

Which is generally best to use — StringComparison.OrdinalIgnoreCase or StringComparison.InvariantCultureIgnoreCase?(一般情况下,哪个最适合使用-StringCompison.EveralIgnoreCase或StringCompison.InariantCultureIgnoreCase?)

本文介绍了一般情况下,哪个最适合使用-StringCompison.EveralIgnoreCase或StringCompison.InariantCultureIgnoreCase?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有如下代码:

If key.Equals("search", StringComparison.OrdinalIgnoreCase) Then
    DoSomething()
End If

我不在乎这个案子。我应该使用OrdinalIgnoreCaseInvariantCultureIgnoreCase还是CurrentCultureIgnoreCase

推荐答案

Newer .Net Docs now has a table to help you decide which is best to use in your situation.

来自MSDN的"New Recommendations for Using Strings in Microsoft .NET 2.0"

摘要:以前使用InvariantCulture进行字符串比较、大小写和排序的代码所有者应该强烈考虑在Microsoft.NET 2.0中使用一组新的String重载。具体地说,被设计为与区域性无关且与语言无关的数据应该开始使用新StringComparison枚举的StringComparison.OrdinalStringComparison.OrdinalIgnoreCase成员指定重载。它们强制执行类似于strcmp的逐字节比较,这不仅避免了本质上是符号字符串的语言解释的错误,而且提供了更好的性能。

这篇关于一般情况下,哪个最适合使用-StringCompison.EveralIgnoreCase或StringCompison.InariantCultureIgnoreCase?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:一般情况下,哪个最适合使用-StringCompison.EveralIgnoreCase或StringCompison.InariantCultureIgnoreCase?