根据标题,您使用什么方式进行字符串比较,为什么?
最佳答案
您尚未指定平台,但我猜是.NET。我强烈建议您使用后一种形式-因为案例比较并不像您期望的那么简单。 (这也避免了创建额外的字符串,但这是另一回事。)
例如,当代码在土耳其运行时,带有“mail”和“MAIL”的代码出现时,您希望代码做什么?如果使用ToLower
,则将返回false,同样,如果使用CurrentCultureIgnoreCase
,则将返回-但是,如果使用InvariantCultureIgnoreCase
,则将返回true。您需要考虑数据的来源以及您要尝试达到的目的。
有关更多信息和指导,请参见MSDN中的recommendations for using strings。
除了其他内容,我想说的是后者可以更有效地表达您的意图。您实际上对字符串的小写值不感兴趣-您对不区分大小写的相等性感兴趣...这正是第二种形式所表达的。
关于c# - 字符串比较-strA.ToLower()== strB.ToLower()或strA.Equals(strB,StringComparisonType)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1660192/