我正在使用一个简单的错误处理,我认为我还有其他一切正确,如何使 if 语句检查值是否等于此阵列
String[] values = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
public String Value
{
get
{
return _value;
}
set
{
if (value != values)
throw new Exception("Invalid Card Value");
_value = value;
}
}
答案 0 :(得分:4)
您不能只是将字符串与字符串数组进行比较,以确定它是否存在于数组中。您可以使用Contains
方法遍历数组并查找值:
set
{
if (!values.Contains(value)) {
throw new Exception("Invalid Card Value");
}
_value = value;
}
如果你这么做,你可以考虑将字符串放在HashSet<string>
而不是数组中。检查哈希集中的值是否存在于数组中是否更快。