根据标题,您使用什么方式进行字符串比较,为什么?

最佳答案

您尚未指定平台,但我猜是.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/

10-09 08:08