如果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);
};
答案 0 :(得分:4)
为什么我不能将Func设置为返回类型?
因为返回int
的函数是函数,而不是int
。给定特定输入的该函数的结果是int
。
在这两个示例中,您没有为输入提供任何值,因此没有值可以返回。直到您提供输入并评估您获得有意义结果的函数。
你的第二个例子很好,但是你必须提供输入并捕获输出:
returnResult = myMeth6(1, 2, 3, 4, 5);