我需要构建一个验证函数,调用它,比如'isValid'
已知的有效字符串值如下:
"01"
"06"
"15"
"22"
"40"
"DA"
"F2"
输入是一串未知内容。
包含有效已知值的静态类包含的函数原型是:
public static bool isValid(string val);
执行此操作的最有效算法是什么?
我可以使用
List<string> ValidKnownValues
并查看ValidKnownValues.Contains(val)
我可以在val上使用switch语句,在Default case
上返回false我可以比较字符串值
这个简单的小问题是否有最佳实践方法?
答案 0 :(得分:2)
您可以使用HashSet<string>
而不是List<string>
,因为它具有O(1)包含方法,因此可以非常快速地查找有效的已知值。
http://msdn.microsoft.com/en-us/library/bb356440%28v=vs.110%29.aspx
答案 1 :(得分:0)
您还可以将可能值列表连接到字符串中,然后搜索要搜索的值的索引:
bool test =(“01; 06; 15; 22; 40; DA; F2”)。IndexOf(“06”)&gt; -1