检查数组中的字符串

时间:2014-12-01 19:05:51

标签: c# arrays string

我正在使用一个简单的错误处理,我认为我还有其他一切正确,如何使 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;
    }
}

1 个答案:

答案 0 :(得分:4)

您不能只是将字符串与字符串数组进行比较,以确定它是否存在于数组中。您可以使用Contains方法遍历数组并查找值:

        set
        {
            if (!values.Contains(value)) {
                throw new Exception("Invalid Card Value");
            }
            _value = value;
        }

如果你这么做,你可以考虑将字符串放在HashSet<string>而不是数组中。检查哈希集中的值是否存在于数组中是否更快。