相关疑难解决方法(0)

上与下案例

在进行不区分大小写的比较时,将字符串转换为大写或小写更有效吗?它甚至重要吗?

在这篇SO帖子中建议C#使用ToUpper更有效,因为"Microsoft以这种方式优化了它".但我也读过这个论点,转换ToLower与ToUpper取决于你的字符串包含的内容,并且通常字符串包含更多小写字符,这使得ToLower更有效.

特别是,我想知道:

  • 有没有办法优化ToUpper或ToLower,使一个比另一个更快?
  • 在大写或小写字符串之间进行不区分大小写的比较是否更快?为什么?
  • 是否存在任何编程环境(例如C,C#,Python等),其中一个案例明显优于另一个案例,为什么?

language-agnostic string uppercase

79
推荐指数
5
解决办法
4万
查看次数

C#:关于ToUpper()和ToLower()的困惑

如果我做这样的事......

String myVar = "in";
if(myVar.ToUpper() == "in")
{
    //do something
}
Run Code Online (Sandbox Code Playgroud)

这不会进入"if"阻止..正确吗?

要么

它是否会检查"in"和"IN"中的内容并执行其中的内容if if?如果是这样,为什么呢?是不是应该跳过"if"块里面的内容?

同样的混乱也是ToLower()如此

编辑:所以要检查两种情况,我需要写:

if((myVar.ToUpper().Equals("in"))&&(myVar.Equals("in")))
Run Code Online (Sandbox Code Playgroud)

像这样......好吗?

c# string-comparison

11
推荐指数
2
解决办法
1万
查看次数