【发布时间】:2011-06-30 04:22:50
【问题描述】:
我有包含字符串和双精度对象的 List,我尝试根据 itemtype 及其值调用不同的方法。在调试器中,我可以看到第一次迭代工作正常,但是在调用方法后第二次进入时显示错误。
如果我注释掉这些方法并放入简单的方法,它就可以工作,所以我理解它与我如何调用这些方法有关。
我做错了什么,我该怎么做才能让它发挥作用?
如果有更简单的方法来做我正在尝试的事情,请告诉我。
public double evaluateExpressionUsingVariableValues(List<Object> anExpression, Dictionary<String, double> variables)
{
foreach (object element in anExpression)
{
if(element.GetType()!=typeof(string))
{
setOperand((double)element);
}
else if (element.GetType() == typeof(string))
{
if (!element.ToString().StartsWith("%"))
performOperation((string)element);
else
setOperand(variables[element.ToString()]);
}
}
return this.operand;
}
【问题讨论】:
-
你能告诉你在哪一行出现了哪个错误吗?
-
抛出的异常是什么?您确定 List 中的所有对象都是字符串还是双精度对象?
标签: c# list object methods foreach