max*_*axp 11 c# string comparison
根据标题,你使用什么样的字符串比较练习?为什么?
Jon*_*eet 33
您还没有指定平台,但我猜测.NET.我强烈建议你使用后一种形式 - 因为案例比较并不像你想象的那么简单.(它也避免了创建额外的字符串,但这是另一回事.)
例如,当你在土耳其运行时,你想要你的代码在"mail"和"MAIL"中显示时会做什么?如果你使用ToLower它将返回false,同样如果你使用CurrentCultureIgnoreCase- 但如果你使用InvariantCultureIgnoreCase它将返回true.您需要考虑数据的来源以及您尝试使用它实现的目标.
除了其他任何事情,我会说后者更有效地表达了你的意图.你不是真正感兴趣的字符串的小写值-你有兴趣的平等在不区分大小写的方式......这正是第二种形式表达什么.
该Equals呼叫扩展能力更强,因为它是一个字符串操作,而不是三个.
对于与StringComparison.OrdinalIgnoreCase选项进行大小写比较的情况,您可以获得最佳性能.但是,由于它没有考虑文化差异,因此可能并不总能得出您想要的结果.
如果您想更改案例进行比较,建议您使用ToUpper而不是ToLower.一些异国情调的字母不能从大写字母到小写字母正确转换,但从大写字母到大写字母的转换有效.
在大多数情况下,性能并不重要,因此您应该使用在这种情况下最有意义的替代方案.
您没有指定使用哪种语言,但是从==运算符看它看起来像C#.如果你要使用VB,你应该考虑=操作符不使用字符串类的相等opreator,而是VB自己进行比较的逻辑,这略有不同.