Cod*_*ess 3 .net string performance tolower
我已经读过,在您的应用程序中,您进行了大量的字符串比较并使用ToLower方法,这种方法非常昂贵.我想知道有谁可以向我解释它是多么昂贵.非常感谢任何信息或解释.谢谢!
另请参阅编写文化安全托管代码,这是为什么不使用它们的一个很好的理由ToLower()
.
特别是,请参阅土耳其语"I"部分 - 它在我工作的过去没有引起任何问题......
如果目前的文化是土耳其语或阿塞拜疆语,则呼叫"I".ToLower()
将不会返回"i"
.对此进行直接比较会导致问题.
除了在其他答案中提到的方法之外,使用String.Compare(String,String,StringComparison)方法还有另一个优点:
您可以传递null
值并仍然获得相对比较值.这使得编写字符串比较变得更加容易.
String.Compare(null, "some StrinG", StringComparison.InvariantCultureIgnoreCase);
Run Code Online (Sandbox Code Playgroud)
从文档:
一个或两个比较可以为空.根据定义,任何字符串(包括空字符串(""))都会比较大于空引用; 和两个空引用比较相等.