c# - 返回表达式而不是结果

标签 c#

如果我有这样的功能

double GetExpression(int x, int y, int z)
{
    return x * y + z;
}

是否有可能以某种方式修改它,不立即返回结果,只返回一些表达式对象,然后以这种方式评估它:

var expression = GetExpression(1,2,3);
double result = expression.Execute() or expression.Evaluate()

换句话说就是返回函数 ?

最佳答案

是的!

Func<double> GetExpression(int x, int y, int z)
{
    return () => x * y + z;
}

用作:

var expression = GetExpression(1,2,3);
double result = expression();

关于c# - 返回表达式而不是结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29954261/

相关文章:

c# - FilePathResult 的已完成事件

c# - 编辑不属于 betterCMS 的主页

c# - 在 Asp.Net Identity 2 中构建自定义用户检查密码

c# - 如何将对象作为可绑定(bind)属性传递给 Xamarin.Forms 自定义控件

c# - 合并 pdf 与 pdfsharp : exception en the pdfDocument. close()

C# Linq 完全外连接重复值

c# - SqlParameterCollection 只接受非空的 SqlParameter 类型对象,不接受 DBNull 对象

c# - 我如何获得 C# 中所有可打印字符的列表?

c# - 我究竟做错了什么? wcf 和 Entity Framework

c# - 返回sql server实例的WMI方法返回空字符串