在比较Microsoft编程语言中的字符串时使用什么案例?

woo*_*lee 2 string-comparison

注意:这是一个我要求更多出于历史兴趣的问题,因为我意识到现代语言具有内置的正则表达式和不区分大小写的字符串比较方法.

当比较一个未知案例的两个字符串时,我记得读过基于Microsoft的转换方法,这些方法针对大写而不是小写进行了优化.所以:

If (stringA.ToUpper() == stringB.ToUpper()) { ... }
Run Code Online (Sandbox Code Playgroud)

会比以下更快:

If (stringA.ToLower() == stringB.ToLower()) { ... }
Run Code Online (Sandbox Code Playgroud)

如果这是真的,当你需要搜索它时,将字符串数据存储在上层而不是小写中会更好吗?

jpo*_*poh 11

在.NET中,我们可以执行以下操作:

if (String.Compare(stringA, stringB, StringComparison.InvariantCultureIgnoreCase) == 0) {...}
Run Code Online (Sandbox Code Playgroud)

并且不必担心将琴弦变成大写或小写.更多关于这里.

  • 绝对是做到这一点的方式 (3认同)
  • 除了建议使用OrdinalIgnoreCase进行与文化无关的字符串比较.:) (2认同)