【发布时间】:2010-10-01 16:24:18
【问题描述】:
在 C# 中有没有办法检测字符串是否全部大写?
大部分字符串都很短(即少于 100 个字符)
【问题讨论】:
-
在你的循环中,一旦你找到一个小写字符,就没有必要继续了,因为它已经通过了测试
-
当它看到一个非字母时,你希望结果是什么,例如标点符号还是空格? ToUpper 解决方案返回 true;问题返回 false。
-
if(!Char.IsLetter(input[i]) || Char.IsUpper(input[i])) { etc }
-
类似于这个问题:stackoverflow.com/questions/234591/upper-vs-lower-case。文化会发挥作用吗?如果是这样,则接受的答案不正确。
-
出于我的目的,当包含非字母字符时,我需要它返回 true。因此,当它评估 ABC1 不为假时,我需要它为真。我已经尝试了这两种解决方案,在这种情况下,ToUpper 更适合我的需求。