Coding style 比较大写还是小写更常见/更标准?

Coding style 比较大写还是小写更常见/更标准?,coding-style,replace,tolower,toupper,Coding Style,Replace,Tolower,Toupper,我在工作中编程的头六个月,我仍然对标准和最佳实践有感觉 在执行字符串或字符比较时,使用ToUpper比较大写字符还是使用ToLower比较小写字符更常见?我可能更经常看到大写字母,但我在寻找一个更明确的答案,也许还有一个冗长的优化解释(不管是什么,低ASCII码) 旁白:在我当前的任务中,我使用字符串替换,为了可读性,我的新字符串将是小写的,但这是否意味着我必须在我的源字符串和我正在寻找的子字符串上都使用ToLower?这可能是特定于您的特定开发团队的。无论哪种方式,它都应该是等效的,因为所有的

我在工作中编程的头六个月,我仍然对标准和最佳实践有感觉

在执行字符串或字符比较时,使用ToUpper比较大写字符还是使用ToLower比较小写字符更常见?我可能更经常看到大写字母,但我在寻找一个更明确的答案,也许还有一个冗长的优化解释(不管是什么,低ASCII码)


旁白:在我当前的任务中,我使用字符串替换,为了可读性,我的新字符串将是小写的,但这是否意味着我必须在我的源字符串和我正在寻找的子字符串上都使用ToLower?

这可能是特定于您的特定开发团队的。无论哪种方式,它都应该是等效的,因为所有的lower->upper转换都应该包含一个倒数upper->lower


然而,在一个项目中保持一致可能是一个好主意,以防在没有对等关系的情况下得到一个奇怪的扩展字符。

取决于您使用的编程语言,C有一个内置的不区分大小写的比较:

string.Equals(a, b, StringComparison.CurrentCultureIgnoreCase);

如果有一种方法可以在不改变大小写的情况下进行不区分大小写的比较,那么您应该使用它。如果不是,在大多数情况下最好转换为大写。例如,德语sharp-sß将大写字母转换为双s,并正确比较等于SS。如果您转换为小写,这将失败,因为小写的SS是SS,而不是ß。

在某些情况下,您应该使用:InvariantCultureInogoreCase

string.Equals(a, b, StringComparison.InvariantCultureIgnoreCase);
这就是我对Scott Hanselmans文章的解读。

我确实碰巧使用了C#,但当强制使用绝对大小写(如果存在的话)时,我对不可知论偏好感兴趣。是否存在不一致会导致扩展字符出现问题的情况?正如@Joni指出的,ß不具有倒数上限->下限->上限。如果在同一个项目中同时进行上比较和下比较,可能会得到不一致的结果。