現在、辞書の値が一致するかどうかを確認するためのテストをいくつか書いています。例は「TestOperatorMatchNotFoundIfValueNotNumeric」などです。文字列を文字列と比較するときにテストを正常に作成しましたが、値が数値でないかどうかを確認する必要があります (無効にする)
以前のテストで使用したロジックを微調整して使用しようとしましたが、「演算子 '==' はタイプ 'string' および 'decimal' のオペランドに適用できません」というエラー メッセージが表示されます。以下は、8 行目と 9 行目に表示される 2 つのエラー メッセージを処理するコードです。
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;
}