【发布时间】:2011-09-13 22:45:27
【问题描述】:
我想做一个解析文本的应用程序。到目前为止,我有一个名为 Result 的类,它保存值并键入方程的每个部分。
public enum ResultType
{
Int32,
Double,
Boolean,
Color,
DateTime,
String,
Undefined,
Void
}
public class Result
{
public object Value { get; set; }
public ResultType Type { get; set; }
}
可能的结果可能是:
5 : Int32
true : Boolean
DADACC : Color
"Hello World!" : String
10.0 : Double
13/11/1986 : DateTime
现在我想求和/除法/pow/...两个结果,但我真的不想做所有的工作。在 C# 中,您可以将它们混合在一起并得到答案。
var value = "Hello" + 2.0 + 4 + DateTime.Today; (value = "Hello2413/09/2011 12:00:00 a.m.")
有没有简单的方法来处理这个问题?还是我必须自己弄清楚所有组合?我正在考虑类似的事情:
var Operator = "+"; // or "-","*","/","^","%"
var sum = DoTheCSharpOperation(Operator, ResultA.Value, ResultB.Value)
var sumResult = new Result(sum);
【问题讨论】:
-
颜色的力量的布尔值是什么?
-
听起来你真正想要的是一种编程语言。您真正想解决什么问题?
-
这一切都可以在 C# 中运行,因为编译器会确定应用哪些运算符(如果有)并生成正确的 IL。这一步是
非平凡的 。 -
布尔颜色的幂是“不能做的”的一个例外。我想用 C# 的大脑来计算两个对象的总和是什么(每个对象都有一个类型,编译器知道类型是什么)
-
我认为您应该将输入示例反转为输出并使输出与输入值匹配...我认为...因为我 认为 我理解您的问题...
标签: c# types sum operator-keyword