【发布时间】:2011-12-06 19:18:23
【问题描述】:
我需要尽可能快的方法来根据给定规则验证输入字符串。在这种情况下,不要说只有 Alpha 字符。
我能想到很多冗长和非冗长的方法。然而,执行速度至关重要。因此,如果有人能提供他们的智慧珍珠,我将不胜感激。
我避免使用正则表达式来避免创建表达式对象的开销。但是,如果人们认为这是最快的选择,我愿意重新审视它。
当前的想法包括: 1)
internal static bool Rule_AlphaOnly(string Value)
{
char[] charList = Value.ToCharArray();
for (int i = 0; i < charList.Length; i++)
{
if (!((charList[i] >= 65 && charList[i] <= 90) || (charList[i] >= 97 && charList[i] <= 122)))
{
return false;
}
}
return true;
}
2)
char[] charList = Value.ToCharArray();
return charList.All(t => ((t >= 65 && t <= 90) || (t >= 97 && t <= 122)));
考虑过使用“包含”方法。
欢迎任何想法。 非常感谢
3) for (int i = 0; i
【问题讨论】:
-
最好的方法是尝试一堆不同的解决方案,然后分析它们。对大约 1000 个字符串执行此操作,并测量每种方法经过的秒数。