-1

我目前正在编写一些测试来查看 Dictionary 中的值是否匹配。一个例子是'TestOperatorMatchNotFoundIfValueNotNumeric'等。在将字符串与字符串进行比较时,我已经成功编写了测试,但现在我必须检查该值是否不是数字(使其无效)

我尝试使用以前测试中使用的逻辑进行一些调整,但我收到错误消息'Operator'==' cannot be applied to 'string' and 'decimal'类型的操作数。下面是我正在处理的代码,其中包含第 8 行和第 9 行的两条错误消息。非常感谢任何帮助。

 public bool IsMatch(Dictionary<String, String> variableData)
    {
        decimal outputValue;
        bool isANumber = Decimal.TryParse("StringValue", out outputValue);

        if (variableData.ContainsKey(this.value1Name))
        {
            if (comparisonOperator == "==")
            {
                if (variableData[this.value1Name] == this.value2Literal) //Error Msg
                {
                    return true;
                }
            }
            else
            {
                if (variableData[this.value1Name] != this.value2Literal) //Error Msg
                {
                    return true;
                }
            }
        }

        return false;
    }
4

1 回答 1

1

你不能比较 1.00 == "1.00",你可以 Convert.ToDecimal("1.00") 并比较它。但我不建议这样做。

你看到你的字典有字符串值。

所以你的代码会变成

Convert.ToDecimal(variableData[this.value1Name]) == this.value2Literal
于 2013-08-23T09:01:53.437 回答