为什么我不能设置Func将参数类型返回到整数值?

时间:2014-04-21 20:02:56

标签: c#

如果Func返回一个值,为什么我不能简单地将它设置为与Func< .... Parameter List ....>中的最后一个参数相同类型的返回类型。

问题:为什么我不能将Func设置为返回类型?

或者我是否必须使用上面声明的变量returnResult?

都没有工作。

代码:

int tempValueResult = Func<int, int, int, int, int, int, int> myMeth6 = (a, b, c, y, e, returnResult) =>
{
    Console.WriteLine(a + b + c + y + e);
    return (a);
};

Console.WriteLine(returnResult);

或者 -

int returnResult = 0;
Func<int, int, int, int, int, int, int> myMeth6 = (a, b, c, y, e, returnResult) =>
{
    Console.WriteLine(a + b + c + y + e);
    return (a);
};

1 个答案:

答案 0 :(得分:4)

  

为什么我不能将Func设置为返回类型?

因为返回int的函数是函数,而不是int。给定特定输入的该函数的结果int

在这两个示例中,您没有为输入提供任何值,因此没有值可以返回。直到您提供输入并评估您获得有意义结果的函数。

你的第二个例子很好,但是你必须提供输入并捕获输出:

returnResult = myMeth6(1, 2, 3, 4, 5);