我必须使用NCalc计算字符串输入,但我想将其(结果)保存为字符串。我怎么做?
Expression expressionEv = new Expression(expressionProccessed);
string value = expressionEv.Evaluate ();
以下代码返回错误:
Error CS0266: Cannot implicitly convert type `object' to `string'. An explicit conversion exists (are you missing a cast?)
有什么办法可以将其转换为字符串吗?还是其他方式?提前致谢!;)
您的错误消息告诉您几乎所有需要了解的信息:
Error CS0266: Cannot implicitly convert type `object' to `string'. An explicit conversion exists (are you missing a cast?)
让我们分部分来看一下。
1。
`Cannot implicitly convert type `object' to `string'.`
这部分告诉您对expressionEv.Evaluate()的调用;返回的是类型为“对象”而不是字符串的内容。您不能将类型分配给其他类型。
2。
An explicit conversion exists (are you missing a cast?)
这部分告诉您您正在尝试将对象转换为字符串,并且尽管有可能,但您并未告诉编译器您想如何做。它甚至建议一个解决方案:“(您是否缺少演员表?)”
有两种方法可以做到这一点:
显式转换:
字符串值=(string)expressionEv.Evaluate();
调用所有对象都具有的ToString()方法(从基础对象类继承):
字符串值= expressionEv.Evaluate()。ToString();
我建议您使用ToString方法。如果类型最终不是字符串,则显式强制转换会引发抛出异常的风险。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句