从任何字符串开始,我需要确定该字符串是否包含一个或多个仅包含指定单个字符的实例。例如“£££££”会通过我的测试,“wertf”会失败。我采取的方法如下:
string source = "any string";
char[] candidate = source.ToCharArray();
char validCharacter = '£';
if (candidate.Length > 0)
{
// (code removed) if candidate length = 1 then just test candidate[0] against validCharacter
bool isValid = true;
int index = 0;
while (index < candidate.Length - 1)
{
if (candidate [index] != validCharacter )
{
isValid = false;
break;
}
index++;
}
if (isValid)
{
// success, do what needs doing
}
}
正如您所期望的那样,这很有效,但我不禁觉得我可能在这里错过了一个技巧。有没有更好,更简洁的方法来做到这一点,而不会牺牲上述的清晰度?