我有这段代码,而且工作正常,
private void button1_Click(object sender, EventArgs e)
{
var func = new Action<int, int>((a, b) =>
{
var sum = a + b;
MessageBox.Show(sum.ToString());
//How can I return sum?
});
//var result=func(2,3);
func(2, 3);
}
如何更改func以返回 sum 变量,我想使用函数:
var result=func(2,3);
答案 0 :(得分:4)
Action
表示不返回值的方法。
如果您想要返回一个值,则需要使用Func<TResult>
它封装了一个返回TResult
参数指定类型值的方法。
因此,在您的情况下,您需要Func<T1, T2, TResult>
,其中参数为int
,返回类型也是如此:
var func = new Func<int, int, int>((a, b) =>
{
var sum = a + b;
MessageBox.Show(sum.ToString());
return sum;
});
var result=func(2,3);