我可以将委托定义为c#中函数的限制吗?

我可以将委托定义为c#中函数的限制吗?,第1张

概述假设我有两个函数:f(x,y)和g(x).在数学中,如果你有一个固定的y,比如y_fix,你可以定义: g(x) := f(x,y_fix) 现在假设g()是一个c#委托,f是一个实现的函数. 我能以类似的方式定义g(x)吗?例如 public delegate double SingleVariableFunction(double x);public class SomeClass{ 假设我有两个函数:f(x,y)和g(x).在数学中,如果你有一个固定的y,比如y_fix,你可以定义:

g(x) := f(x,y_fix)

现在假设g()是一个c#委托,f是一个实现的函数.
我能以类似的方式定义g(x)吗?例如

public delegate double SingleVariableFunction(double x);public class SomeClass{    SingleVariableFunction g;    double y_fix;    public SomeClass()    {        y_fix = 2;        g = f(,y_fix);    /// Is this possible somehow?    }    public double f(double x,double y)    {        return x + y;       }}
解决方法 它被称为 partial application.

在C#中,您可以使用lambda表达式构造g:

g = x => f(x,y_fix);
总结

以上是内存溢出为你收集整理的我可以将委托定义为c#中函数的限制吗?全部内容,希望文章能够帮你解决我可以将委托定义为c#中函数的限制吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1220149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存